home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / lang / sofa.lha / sofa / smalleiffel / bin_c / compile_to_c13.c < prev    next >
C/C++ Source or Header  |  2000-03-25  |  90KB  |  4,189 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.76Beta#1)--
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                  http://SmallEiffel.loria.fr/                --
  7. */
  8. #include "compile_to_c.h"
  9.  
  10.  
  11. T0* r129origin_base_class(T129* C){
  12. T0* R=NULL;
  13. R=(/*RF2*/((/*RF2*/(C)->_start_position/*4*/))._base_class/*0*/);
  14. return R;
  15. }
  16.  
  17.  
  18. void r129error(T68 a1,T0* a2){
  19. r66add_position(a1);
  20. /*[IRF3.6append*/{T0* b1=a2;
  21. r7append((T7*)(oBC66explanation),b1);
  22. }/*]*/
  23. r66print_as_error((T66*)(oBC13eh));
  24. }
  25.  
  26.  
  27. T0* r210try_to_undefine_aux(T210* C,T0* a1,T0* a2){
  28. T0* R=NULL;
  29. {T68 se_tmp0;
  30. r66add_position((*(se_tmp0=r210start_position(C),&se_tmp0)));
  31. }
  32. {T68 se_tmp0;
  33. r210error((*(se_tmp0=X82start_position(a1),&se_tmp0)),((T0*)ms200_98784));
  34. }
  35. r51fatal_undefine(((T51*)a2),a1);
  36. return R;
  37. }
  38.  
  39.  
  40. T0* r210try_to_undefine(T210* C,T0* a1,T0* a2){
  41. T0* R=NULL;
  42. T0* _fn2=NULL;
  43. {T68 se_tmp0;
  44. r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
  45. }
  46. _fn2=r83feature_name((T83*)((/*RF2*/(C)->_names/*8*/)),X82to_key(a1));
  47. /*[IF*/
  48. if((_fn2)!=((void*)(NULL))){
  49. X82undefine_in(_fn2,a2);
  50. }
  51. /*FI]*/
  52. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
  53. /*]*/
  54. /*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
  55. /*]*/
  56. /*]*/
  57. R=r210try_to_undefine_aux(C,a1,a2);
  58. /*[IF*/
  59. if((R)!=((void*)(NULL))){
  60. X284set_clients(R,(/*RF2*/(C)->_clients/*16*/));
  61. r210merge_header_comments(C,R);
  62. }
  63. else{
  64. r51fatal_undefine(((T51*)a2),a1);
  65. }
  66. /*FI]*/
  67. return R;
  68. }
  69.  
  70.  
  71. void r210check_obsolete(T210* C,T68 a1){
  72. /*[IF*/
  73. /*AF*//*AE*/
  74. /*FI]*/
  75. }
  76.  
  77.  
  78. T0* r210to_run_feature(T210* C,T0* a1,T0* a2){
  79. T0* R=NULL;
  80. T0* _rc=NULL;
  81. _rc=X52run_class(a1);
  82. R=r50at(((T50*)_rc),a2);
  83. if(NULL!=(R)){
  84. switch(((T0*)R)->id){
  85. case 388:
  86. break;
  87. default:
  88. R=NULL;
  89. }
  90. }/*[IF*/
  91. if((R)==((void*)(NULL))){
  92. {T388*n=((T388*)malloc(sizeof(*n))/*36*/);
  93. *n=M388;
  94. r388make(n,a1,a2,(T0*)C);
  95. R=((T0*)n);
  96. }
  97. }
  98. /*FI]*/
  99. return R;
  100. }
  101.  
  102.  
  103. void r210error(T68 a1,T0* a2){
  104. r66add_position(a1);
  105. /*[IRF3.6append*/{T0* b1=a2;
  106. r7append((T7*)(oBC66explanation),b1);
  107. }/*]*/
  108. r66print_as_error((T66*)(oBC13eh));
  109. }
  110.  
  111.  
  112. T6 r210is_not_mergeable_with(T210* C,T0* a1){
  113. T6 R=0;
  114. /*[IF*/
  115. if(((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL))){
  116. R=(X90result_type(a1))!=((void*)(NULL));
  117. }
  118. else{
  119. R=(X90result_type(a1))==((void*)(NULL));
  120. }
  121. /*FI]*/
  122. /*[IF*/
  123. if(R){
  124. /*[IRF3.6append*/{T0* b1=((T0*)ms90_64152);
  125. r7append((T7*)(oBC66explanation),b1);
  126. }/*]*/
  127. }
  128. else{
  129. /*[IF*/
  130. {/*AT*/R=(X90arguments(a1))!=((void*)(NULL));
  131. }
  132. /*FI]*/
  133. /*[IF*/
  134. if(R){
  135. /*[IRF3.6append*/{T0* b1=((T0*)ms90_82612);
  136. r7append((T7*)(oBC66explanation),b1);
  137. }/*]*/
  138. }
  139.  else {/*AT*/}
  140. /*FI]*/
  141. }
  142. /*FI]*/
  143. r210merge_header_comments(C,a1);
  144. return R;
  145. }
  146.  
  147.  
  148. void r210make(T210* C,T0* a1,T0* a2,T0* a3){
  149. /*[IRF3.3make_e_feature*/((((T210*)(C)))->_names)=(a1);
  150. /*]*/
  151. (/*SFN*/C->_result_type)=a2;
  152. (/*SFN*/C->_value_mem)=a3;
  153. }
  154.  
  155.  
  156. void r210add_into(T210* C,T0* a1){
  157. T0* _fn=NULL;
  158. T2 _i=0;
  159. {T68 se_tmp0;
  160. (/*SFN*/C->_base_class)=(/*RF2*/((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),1)),&se_tmp0)))._base_class/*0*/);
  161. }
  162. _i=1;
  163. while (!((_i)>(r83count((T83*)((/*RF2*/(C)->_names/*8*/))))))
  164. {
  165. _fn=r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i);
  166. /*[IF*/
  167. if(r91has(((T91*)a1),X82to_key(_fn))){
  168. _fn=/*SSFRF4*//*X90first_name*//*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T198*)(r91at(((T91*)a1),X82to_key(_fn))))->_names/*8*/))))->_first/*0*/)/*)*/;
  169. {T68 se_tmp0;
  170. r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
  171. }
  172. {T68 se_tmp0;
  173. r66add_position((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i)),&se_tmp0)));
  174. }
  175. /*[IRF3.6append*/{T0* b1=((T0*)ms90_41470);
  176. r7append((T7*)(oBC66explanation),b1);
  177. }/*]*/
  178. /*[IRF3.6append*/{T0* b1=X82to_string(_fn);
  179. r7append((T7*)(oBC66explanation),b1);
  180. }/*]*/
  181. /*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
  182. r7append((T7*)(oBC66explanation),b1);
  183. }/*]*/
  184. r66print_as_error((T66*)(oBC13eh));
  185. }
  186. else{
  187. r91put(((T91*)a1),(T0*)C,X82to_key(_fn));
  188. }
  189. /*FI]*/
  190. _i=(_i)+(1);
  191. }
  192. }
  193.  
  194.  
  195. T6 r210can_hide(T210* C,T0* a1,T0* a2){
  196. T6 R=0;
  197. /*[IF*/
  198. if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(X90result_type(a1)))){
  199. /*[IF*/
  200. if((((/*RF2*/(C)->_result_type/*20*/))==((void*)(NULL)))||((X90result_type(a1))==((void*)(NULL)))){
  201. {T68 se_tmp0;
  202. r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
  203. }
  204. {T68 se_tmp0;
  205. r210error((*(se_tmp0=r210start_position(C),&se_tmp0)),((T0*)ms90_64152));
  206. }
  207. }
  208. /*FI]*/
  209. }
  210. /*FI]*/
  211. /*[IF*/
  212. if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X90arguments(a1)))){
  213. /*[IF*/
  214. {/*AT*/{T68 se_tmp0;
  215. r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
  216. }
  217. {T68 se_tmp0;
  218. r210error((*(se_tmp0=r210start_position(C),&se_tmp0)),((T0*)ms90_82612));
  219. }
  220. }
  221. /*FI]*/
  222. }
  223. /*FI]*/
  224. /*[IF*/
  225. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  226. /*[IF*/
  227. if(((/*RF2*/(C)->_result_type/*20*/))!=((void*)(NULL))){
  228. /*[IF*/
  229. if(!(X52is_a_in((/*RF2*/(C)->_result_type/*20*/),X90result_type(a1),a2))){
  230. /*[IRF3.6append*/{T0* b1=((T0*)ms90_51136);
  231. r7append((T7*)(oBC66explanation),b1);
  232. }/*]*/
  233. /*[IRF3.6append*/{T0* b1=X52run_time_mark((/*RF2*/(((T50*)a2))->_current_type/*0*/));
  234. r7append((T7*)(oBC66explanation),b1);
  235. }/*]*/
  236. /*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
  237. r7append((T7*)(oBC66explanation),b1);
  238. }/*]*/
  239. r66print_as_error((T66*)(oBC13eh));
  240. }
  241. /*FI]*/
  242. }
  243. /*FI]*/
  244. }
  245. /*FI]*/
  246. /*[IF*/
  247. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  248. /*[IF*/
  249. /*AF*//*AE*/
  250. /*FI]*/
  251. }
  252. /*FI]*/
  253. R=(/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0);
  254. /*[IF*/
  255. if(R){
  256. r210merge_header_comments(C,a1);
  257. }
  258. /*FI]*/
  259. return R;
  260. }
  261.  
  262.  
  263. void r210merge_header_comments(T210* C,T0* a1){
  264. /*[IF*/
  265. if((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/)){
  266. /*[IF*/
  267. if(((/*RF2*/(C)->_header_comment/*12*/))==((void*)(NULL))){
  268. (/*SFN*/C->_header_comment)=/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/);
  269. }
  270.  else if((/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/))==((void*)(NULL))){
  271. X90set_header_comment(a1,(/*RF2*/(C)->_header_comment/*12*/));
  272. }
  273. /*FI]*/
  274. }
  275. /*FI]*/
  276. }
  277.  
  278.  
  279. T68 r210start_position(T210* C){
  280. T68 R={NULL,0};
  281. {T68 se_tmp0;
  282. R=(*(se_tmp0=X82start_position(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(C)->_names/*8*/))))->_first/*0*/)/*)*/),&se_tmp0));
  283. }
  284. return R;
  285. }
  286.  
  287.  
  288. T0* r265generic_list(T265* C){
  289. T0* R=NULL;
  290. r265fatal_error_generic_list(C);
  291. return R;
  292. }
  293.  
  294.  
  295. void r265gc_call_new_in(T0* a1){
  296. r7append(((T7*)a1),((T0*)ms14_990));
  297. r2append_in(3,a1);
  298. r7extend(((T7*)a1),((T3)'\50'));
  299. r7extend(((T7*)a1),((T3)'\51'));
  300. }
  301.  
  302.  
  303. T0* r265base_class(T265* C){
  304. T0* R=NULL;
  305. T0* _bcn=NULL;
  306. _bcn=(/*RF2*/(C)->_base_class_name/*4*/);
  307. /*[IF*/
  308. if((_bcn)!=((void*)(NULL))){
  309. R=r61base_class(((T61*)_bcn));
  310. }
  311. else{
  312. /*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
  313. r7append((T7*)(oBC66explanation),b1);
  314. }/*]*/
  315. r66add_type((T0*)C,((T0*)ms14_46));
  316. r66print_as_fatal_error((T66*)(oBC13eh));
  317. }
  318. /*FI]*/
  319. return R;
  320. }
  321.  
  322.  
  323. T0* r265look_up_for(T265* C,T0* a1,T0* a2){
  324. T0* R=NULL;
  325. R=r51look_up_for((T51*)(r265base_class(C)),a1,a2);
  326. return R;
  327. }
  328.  
  329.  
  330. T6 r265has_creation(T265* C,T0* a1){
  331. T6 R=0;
  332. {T68 se_tmp0;
  333. r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
  334. }
  335. r265error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms264_99414));
  336. return R;
  337. }
  338.  
  339.  
  340. void r265error(T68 a1,T0* a2){
  341. r66add_position(a1);
  342. /*[IRF3.6append*/{T0* b1=a2;
  343. r7append((T7*)(oBC66explanation),b1);
  344. }/*]*/
  345. r66print_as_error((T66*)(oBC13eh));
  346. }
  347.  
  348.  
  349. T0* r265actual_reference(T0* a1){
  350. T0* R=NULL;
  351. T0* _cn=NULL;
  352. /*[IF*/
  353. if((X52run_time_mark(a1))==((void*)(((T0*)ms15_16393)))){
  354. R=a1;
  355. }
  356. else{
  357. {T68 se_tmp0;
  358. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  359. *n=M61;
  360. r61make(n,((T0*)ms15_16393),(*(se_tmp0=X52start_position(a1),&se_tmp0)));
  361. _cn=((T0*)n);
  362. }
  363. }
  364. {T272*n=((T272*)malloc(sizeof(*n))/*8*/);
  365. *n=M272;
  366. /*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_cn);
  367. /*]*/
  368. R=((T0*)n);
  369. }
  370. }
  371. /*FI]*/
  372. return R;
  373. }
  374.  
  375.  
  376. T6 r265is_a_in(T265* C,T0* a1,T0* a2){
  377. T6 R=0;
  378. T0* _ct=NULL;
  379. T0* _t2=NULL;
  380. T0* _t1=NULL;
  381. /*[IF*/
  382. if((r265written_mark())==((void*)(X52written_mark(a1)))){
  383. R=1;
  384. }
  385. else{
  386. _ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
  387. _t1=r265to_runnable(C,_ct);
  388. _t2=X52to_runnable(a1,_ct);
  389. /*[IF*/
  390. if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
  391. R=1;
  392. }
  393. else{
  394. R=X52is_a(_t1,_t2);
  395. }
  396. /*FI]*/
  397. }
  398. /*FI]*/
  399. return R;
  400. }
  401.  
  402.  
  403. T6 r265is_native_array(T265* C){
  404. T6 R=0;
  405. T0* _tna=NULL;
  406. _tna=NULL;
  407. R=(_tna)!=((void*)(NULL));
  408. return R;
  409. }
  410.  
  411.  
  412. T6 r265is_a(T265* C,T0* a1){
  413. T6 R=0;
  414. /*[IF*/
  415. if(X52is_character(a1)){
  416. R=1;
  417. }
  418. else{
  419. R=r51is_subclass_of((T51*)(r265base_class(C)),X52base_class(a1));
  420. }
  421. /*FI]*/
  422. /*[IF*/
  423. if(!(R)){
  424. r66add_type((T0*)C,((T0*)ms14_17460));
  425. r66add_type(a1,((T0*)ms14_46));
  426. }
  427. /*FI]*/
  428. return R;
  429. }
  430.  
  431.  
  432. void r265make(T265* C,T68 a1){
  433. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  434. *n=M61;
  435. r61make(n,((T0*)ms15_9801),a1);
  436. (/*SFN*/C->_base_class_name)=((T0*)n);
  437. }
  438. }
  439.  
  440.  
  441. void r265fatal_error_generic_list(T265* C){
  442. r66add_type((T0*)C,((T0*)ms52_28899));
  443. r66print_as_fatal_error((T66*)(oBC13eh));
  444. }
  445.  
  446.  
  447. void r265c_initialize_in(T0* a1){
  448. /*[IF*/
  449. /*AF*//*AE*/
  450. r7extend(((T7*)a1),((T3)'0'));
  451. /*FI]*/
  452. }
  453.  
  454.  
  455. T0* r265smallest_ancestor(T265* C,T0* a1){
  456. T0* R=NULL;
  457. T0* _rto=NULL;
  458. _rto=X52run_type(a1);
  459. /*[IF*/
  460. if(X52is_character(_rto)){
  461. R=((T0*)(C));
  462. }
  463. else{
  464. R=r272smallest_ancestor((T272*)(r265type_character_ref()),_rto);
  465. }
  466. /*FI]*/
  467. return R;
  468. }
  469. int fBC265check_type=0;
  470.  
  471.  
  472. void r265check_type(T265* C){
  473. if(fBC265check_type==0){fBC265check_type=1;{
  474. T0* _rc=NULL;
  475. T0* _bc=NULL;
  476. _bc=r265base_class(C);
  477. /*[IF*/
  478. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  479. _rc=r265run_class(C);
  480. r265load_ref(((T0*)ms15_16393));
  481. }
  482. /*FI]*/
  483. /*[IF*/
  484. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  485. /*[IF*/
  486. if(!((/*RF2*/(((T51*)_bc))->_is_expanded/*17*/))){
  487. r265error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms265_43011));
  488. }
  489. /*FI]*/
  490. }
  491. /*FI]*/
  492. }}}
  493. T0*oBC265type_character_ref=NULL;
  494. int fBC265type_character_ref=0;
  495.  
  496.  
  497. T0* r265type_character_ref(void){
  498. if(fBC265type_character_ref==0){fBC265type_character_ref=1;{
  499. T0* _character_ref=NULL;
  500. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  501. *n=M61;
  502. /*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(((T0*)ms15_16393));
  503. /*]*/
  504. _character_ref=((T0*)n);
  505. }
  506. {T272*n=((T272*)malloc(sizeof(*n))/*8*/);
  507. *n=M272;
  508. oBC265type_character_ref=((T0*)n);
  509. /*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_character_ref);
  510. /*]*/
  511. }
  512. }}
  513. return oBC265type_character_ref;
  514. }
  515.  
  516.  
  517. void r265load_ref(T0* a1){
  518. T0* _rf=NULL;
  519. T0* _rc=NULL;
  520. T0* _cn=NULL;
  521. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  522. *n=M61;
  523. /*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(a1);
  524. /*]*/
  525. _cn=((T0*)n);
  526. }
  527. _rc=r51run_class((T51*)(r61base_class(((T61*)_cn))));
  528. _rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_1724));
  529. }
  530.  
  531.  
  532. T0* r265to_runnable(T265* C,T0* a1){
  533. T0* R=NULL;
  534. R=((T0*)(C));
  535. r265check_type(C);
  536. return R;
  537. }
  538.  
  539.  
  540. void r265id_extra_information(T0* a1){
  541. r48put_string(((T48*)a1),((T0*)ms52_9724));
  542. /*[IF*/
  543. /*AF*//*AE*/
  544. r48put_string(((T48*)a1),((T0*)ms52_759));
  545. /*FI]*/
  546. }
  547.  
  548.  
  549. void r265gc_mark_in(T0* a1){
  550. r7append(((T7*)a1),((T0*)ms14_8764));
  551. r2append_in(3,a1);
  552. }
  553.  
  554.  
  555. void r265c_type_for_external_in(T0* a1){
  556. /*[IF*/
  557. /*AF*//*AE*/
  558. /*[IRF3.6c_type_for_result_in*/{T0* b1=a1;
  559. r265c_type_for_argument_in(b1);
  560. }/*]*/
  561. /*FI]*/
  562. }
  563.  
  564.  
  565. void r265c_type_for_argument_in(T0* a1){
  566. r7extend(((T7*)a1),((T3)'T'));
  567. r7extend(((T7*)a1),((T3)'3'));
  568. }
  569.  
  570.  
  571. T0* r265run_time_mark(void){
  572. T0* R=NULL;
  573. R=((T0*)ms15_9801);
  574. return R;
  575. }
  576.  
  577.  
  578. T0* r265run_class(T265* C){
  579. T0* R=NULL;
  580. R=r49run_class((T0*)C);
  581. return R;
  582. }
  583.  
  584.  
  585. void r265demangling_in(T0* a1){
  586. /*[IF*/
  587. /*AF*//*AE*/
  588. r7extend(((T7*)a1),((T3)'E'));
  589. /*FI]*/
  590. r7extend(((T7*)a1),((T3)'\40'));
  591. r7append(((T7*)a1),r265run_time_mark());
  592. }
  593.  
  594.  
  595. T0* r265written_mark(void){
  596. T0* R=NULL;
  597. R=((T0*)ms15_9801);
  598. return R;
  599. }
  600.  
  601.  
  602. T0* r283left_type(T283* C){
  603. T0* R=NULL;
  604. R=X104result_type((/*RF2*/(C)->_left_side/*4*/));
  605. return R;
  606. }
  607.  
  608.  
  609. void r283make(T283* C,T0* a1,T0* a2){
  610. (/*SFN*/C->_left_side)=a1;
  611. (/*SFN*/C->_right_side)=a2;
  612. }
  613.  
  614.  
  615. void r283fatal_error(T0* a1){
  616. /*[IRF3.6append*/{T0* b1=a1;
  617. r7append((T7*)(oBC66explanation),b1);
  618. }/*]*/
  619. r66print_as_fatal_error((T66*)(oBC13eh));
  620. }
  621.  
  622.  
  623. void r283warning(T68 a1,T0* a2){
  624. r66add_position(a1);
  625. /*[IRF3.6append*/{T0* b1=a2;
  626. r7append((T7*)(oBC66explanation),b1);
  627. }/*]*/
  628. r66print_as_warning((T66*)(oBC13eh));
  629. }
  630.  
  631.  
  632. T0* r283add_comment(T283* C,T0* a1){
  633. T0* R=NULL;
  634. /*[IF*/
  635. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  636. R=((T0*)(C));
  637. }
  638. /*AF*/else{
  639. {T224*n=((T224*)malloc(sizeof(*n))/*12*/);
  640. *n=M224;
  641. r224make(n,(T0*)C,a1);
  642. R=((T0*)n);
  643. }
  644. }
  645. /*FI]*/
  646. return R;
  647. }
  648.  
  649.  
  650. void r283compile_to_c(T283* C){
  651. T2 _i=0;
  652. T0* _run=NULL;
  653. {T68 se_tmp0;
  654. r325se_trace_ins((T325*)(oBC13cpp),(*(se_tmp0=r283start_position(C),&se_tmp0)));
  655. }
  656. /*[IF*/
  657. if(X52is_expanded(X52run_type(r283right_type(C)))){
  658. {T68 se_tmp0;
  659. r66add_position((*(se_tmp0=r283start_position(C),&se_tmp0)));
  660. }
  661. r283fatal_error(((T0*)ms283_116100));
  662. }
  663. /*FI]*/
  664. _run=(/*RF2*/((T50*)(X52run_class(r283left_type(C))))->_running/*9*/);
  665. /*[IF*/
  666. if((_run)==((void*)(NULL))){
  667. /*[IF*/
  668. if(!(X104can_be_dropped((/*RF2*/(C)->_right_side/*8*/)))){
  669. X104compile_to_c((/*RF2*/(C)->_right_side/*8*/));
  670. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  671. /*]*/
  672. }
  673. /*FI]*/
  674. X104compile_to_c((/*RF2*/(C)->_left_side/*4*/));
  675. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_3122));
  676. /*]*/
  677. }
  678.  else if(X104is_current((/*RF2*/(C)->_right_side/*8*/))){
  679. /*[IF*/
  680. if(r53fast_has(((T53*)_run),X52run_class(X104result_type((/*RF2*/(C)->_right_side/*8*/))))){
  681. X104compile_to_c((/*RF2*/(C)->_left_side/*4*/));
  682. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_6651));
  683. /*]*/
  684. X104compile_to_c((/*RF2*/(C)->_right_side/*8*/));
  685. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_330));
  686. /*]*/
  687. }
  688. else{
  689. X104compile_to_c((/*RF2*/(C)->_left_side/*4*/));
  690. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_3122));
  691. /*]*/
  692. }
  693. /*FI]*/
  694. }
  695. else{
  696. X104compile_to_c((/*RF2*/(C)->_left_side/*4*/));
  697. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  698. T3 b1=((T3)'\75');
  699. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  700. }/*]*/
  701. /*]*/
  702. /*[IF*/
  703. if(X104is_current((/*RF2*/(C)->_right_side/*8*/))){
  704. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_1275));
  705. /*]*/
  706. }
  707. /*FI]*/
  708. X104compile_to_c((/*RF2*/(C)->_right_side/*8*/));
  709. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_9552));
  710. /*]*/
  711. X104compile_to_c((/*RF2*/(C)->_left_side/*4*/));
  712. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_17459));
  713. /*]*/
  714. X104compile_to_c((/*RF2*/(C)->_left_side/*4*/));
  715. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_444));
  716. /*]*/
  717. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_1895));
  718. /*]*/
  719. _i=(/*RF2*/(((T53*)_run))->_lower/*12*/);
  720. while (!((_i)>((/*RF2*/(((T53*)_run))->_upper/*8*/))))
  721. {
  722. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_2220));
  723. /*]*/
  724. /*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),(/*RF2*/((T50*)(r53item(((T53*)_run),_i)))->_id/*4*/));
  725. /*]*/
  726. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  727. T3 b1=((T3)'\72');
  728. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  729. }/*]*/
  730. /*]*/
  731. _i=(_i)+(1);
  732. }
  733. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_10030));
  734. /*]*/
  735. X104compile_to_c((/*RF2*/(C)->_left_side/*4*/));
  736. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms283_16260));
  737. /*]*/
  738. }
  739. /*FI]*/
  740. }
  741.  
  742.  
  743. void r283afd_check(T283* C){
  744. X104afd_check((/*RF2*/(C)->_right_side/*8*/));
  745. }
  746.  
  747.  
  748. void r283collect_c_tmp(T283* C){
  749. X104collect_c_tmp((/*RF2*/(C)->_right_side/*8*/));
  750. }
  751.  
  752.  
  753. T6 r283use_current(T283* C){
  754. T6 R=0;
  755. /*[IF*/
  756. if(X104use_current((/*RF2*/(C)->_left_side/*4*/))){
  757. R=1;
  758. }
  759. else{
  760. R=X104use_current((/*RF2*/(C)->_right_side/*8*/));
  761. }
  762. /*FI]*/
  763. return R;
  764. }
  765.  
  766.  
  767. T6 r283stupid_switch(T283* C,T0* a1){
  768. T6 R=0;
  769. /*[IF*/
  770. if(r49stupid_switch(X104result_type((/*RF2*/(C)->_left_side/*4*/)),a1)){
  771. /*[IF*/
  772. if(r49stupid_switch(X104result_type((/*RF2*/(C)->_right_side/*8*/)),a1)){
  773. /*[IF*/
  774. if(X104stupid_switch((/*RF2*/(C)->_left_side/*4*/),a1)){
  775. /*[IF*/
  776. if(X104stupid_switch((/*RF2*/(C)->_right_side/*8*/),a1)){
  777. R=1;
  778. }
  779. /*FI]*/
  780. }
  781. /*FI]*/
  782. }
  783. /*FI]*/
  784. }
  785. /*FI]*/
  786. return R;
  787. }
  788.  
  789.  
  790. T0* r283to_runnable(T283* C,T0* a1){
  791. T0* R=NULL;
  792. T0* _e=NULL;
  793. /*[IF*/
  794. if(((/*RF2*/(C)->_current_type/*12*/))==((void*)(NULL))){
  795. (/*SFN*/C->_current_type)=a1;
  796. _e=X104to_runnable((/*RF2*/(C)->_left_side/*4*/),a1);
  797. /*[IF*/
  798. if((_e)==((void*)(NULL))){
  799. {T68 se_tmp0;
  800. r283error((*(se_tmp0=X104start_position((/*RF2*/(C)->_left_side/*4*/)),&se_tmp0)),((T0*)ms14_63393));
  801. }
  802. }
  803. else{
  804. (/*SFN*/C->_left_side)=_e;
  805. }
  806. /*FI]*/
  807. /*[IF*/
  808. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  809. _e=X104to_runnable((/*RF2*/(C)->_right_side/*8*/),a1);
  810. /*[IF*/
  811. if((_e)==((void*)(NULL))){
  812. {T68 se_tmp0;
  813. r283error((*(se_tmp0=X104start_position((/*RF2*/(C)->_right_side/*8*/)),&se_tmp0)),((T0*)ms14_67082));
  814. }
  815. }
  816. else{
  817. (/*SFN*/C->_right_side)=_e;
  818. }
  819. /*FI]*/
  820. }
  821. /*FI]*/
  822. /*[IF*/
  823. if(((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0))&&(X52is_a(X52run_type(r283right_type(C)),X52run_type(r283left_type(C))))){
  824. /*[IF*/
  825. if((!(X104is_current((/*RF2*/(C)->_right_side/*8*/))))&&(!(X52is_like_current(r283left_type(C))))){
  826. r66add_type(r283right_type(C),((T0*)ms283_3438));
  827. r66add_type(r283left_type(C),((T0*)ms283_101250));
  828. {T68 se_tmp0;
  829. r283warning((*(se_tmp0=r283start_position(C),&se_tmp0)),((T0*)ms283_34500));
  830. }
  831. }
  832. /*FI]*/
  833. }
  834. /*FI]*/
  835. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
  836. /*]*/
  837. /*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
  838. /*]*/
  839. /*]*/
  840. /*[IF*/
  841. if(!(X52is_reference(X52run_type(r283left_type(C))))){
  842. r66add_type(X52run_type(r283left_type(C)),((T0*)ms283_38600));
  843. {T68 se_tmp0;
  844. r283error((*(se_tmp0=r283start_position(C),&se_tmp0)),((T0*)ms283_71400));
  845. }
  846. }
  847. /*FI]*/
  848. /*[IF*/
  849. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  850. R=((T0*)(C));
  851. }
  852. /*FI]*/
  853. }
  854. else{
  855. {T283*n=((T283*)malloc(sizeof(*n))/*16*/);
  856. *n=M283;
  857. r283make(n,(/*RF2*/(C)->_left_side/*4*/),(/*RF2*/(C)->_right_side/*8*/));
  858. R=((T0*)n);
  859. }
  860. R=r283to_runnable(((T283*)R),a1);
  861. }
  862. /*FI]*/
  863. return R;
  864. }
  865.  
  866.  
  867. T0* r283right_type(T283* C){
  868. T0* R=NULL;
  869. R=X104result_type((/*RF2*/(C)->_right_side/*8*/));
  870. return R;
  871. }
  872.  
  873.  
  874. void r283error(T68 a1,T0* a2){
  875. r66add_position(a1);
  876. /*[IRF3.6append*/{T0* b1=a2;
  877. r7append((T7*)(oBC66explanation),b1);
  878. }/*]*/
  879. r66print_as_error((T66*)(oBC13eh));
  880. }
  881.  
  882.  
  883. T68 r283start_position(T283* C){
  884. T68 R={NULL,0};
  885. {T68 se_tmp0;
  886. R=(*(se_tmp0=X104start_position((/*RF2*/(C)->_left_side/*4*/)),&se_tmp0));
  887. }
  888. return R;
  889. }
  890.  
  891.  
  892. void r100compile_to_c_old(T100* C){
  893. /*[IF*/
  894. if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
  895. X104compile_to_c_old((/*RF2*/(C)->_expression/*4*/));
  896. }
  897. /*FI]*/
  898. }
  899.  
  900.  
  901. T6 r100is_always_true(T100* C){
  902. T6 R=0;
  903. /*[IF*/
  904. if(((/*RF2*/(C)->_expression/*4*/))==((void*)(NULL))){
  905. R=1;
  906. }
  907.  else if(X104is_static((/*RF2*/(C)->_expression/*4*/))){
  908. R=(X104static_value((/*RF2*/(C)->_expression/*4*/)))==(1);
  909. }
  910. /*FI]*/
  911. return R;
  912. }
  913.  
  914.  
  915. void r100make(T100* C,T0* a1,T0* a2,T0* a3){
  916. (/*SFN*/C->_tag)=a1;
  917. (/*SFN*/C->_expression)=a2;
  918. (/*SFN*/C->_comment)=a3;
  919. }
  920.  
  921.  
  922. void r100afd_check(T100* C){
  923. /*[IF*/
  924. if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
  925. X104afd_check((/*RF2*/(C)->_expression/*4*/));
  926. }
  927. /*FI]*/
  928. }
  929.  
  930.  
  931. void r100compile_to_c(T100* C){
  932. /*[IF*/
  933. if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
  934. r325check_assertion((T325*)(oBC13cpp),(/*RF2*/(C)->_expression/*4*/),(/*RF2*/(C)->_tag/*0*/));
  935. }
  936. /*FI]*/
  937. }
  938.  
  939.  
  940. void r100c_declare_for_old(T100* C){
  941. /*[IF*/
  942. if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
  943. X104c_declare_for_old((/*RF2*/(C)->_expression/*4*/));
  944. }
  945. /*FI]*/
  946. }
  947.  
  948.  
  949. void r100collect_c_tmp(T100* C){
  950. /*[IF*/
  951. if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
  952. X104collect_c_tmp((/*RF2*/(C)->_expression/*4*/));
  953. }
  954. /*FI]*/
  955. }
  956.  
  957.  
  958. T6 r100use_current(T100* C){
  959. T6 R=0;
  960. /*[IF*/
  961. if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
  962. R=X104use_current((/*RF2*/(C)->_expression/*4*/));
  963. }
  964. /*FI]*/
  965. return R;
  966. }
  967.  
  968.  
  969. T0* r100to_runnable(T100* C,T0* a1,T3 a2){
  970. T0* R=NULL;
  971. T0* _e=NULL;
  972. /*[IF*/
  973. if(((/*RF2*/(C)->_current_type/*12*/))==((void*)(NULL))){
  974. (/*SFN*/C->_current_type)=a1;
  975. R=((T0*)(C));
  976. /*[IF*/
  977. if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
  978. _e=X104to_runnable((/*RF2*/(C)->_expression/*4*/),a1);
  979. /*[IF*/
  980. if((_e)==((void*)(NULL))){
  981. {T68 se_tmp0;
  982. r100error((*(se_tmp0=r100start_position(C),&se_tmp0)),((T0*)ms14_14056));
  983. }
  984. }
  985. else{
  986. (/*SFN*/C->_expression)=_e;
  987. /*[IF*/
  988. if(!(X52is_boolean(X104result_type((/*RF2*/(C)->_expression/*4*/))))){
  989. r66add_type(X104result_type((/*RF2*/(C)->_expression/*4*/)),((T0*)ms14_18080));
  990. {T68 se_tmp0;
  991. r100error((*(se_tmp0=r100start_position(C),&se_tmp0)),((T0*)ms14_14056));
  992. }
  993. }
  994. /*FI]*/
  995. }
  996. /*FI]*/
  997. }
  998. /*FI]*/
  999. /*[IF*/
  1000. if((((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL)))&&((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0))){
  1001. /*[IF*/
  1002. if(r47require_check((T47*)(oBC13run_control))){
  1003. X104assertion_check((/*RF2*/(C)->_expression/*4*/),a2);
  1004. }
  1005. /*FI]*/
  1006. }
  1007. /*FI]*/
  1008. }
  1009. else{
  1010. {T100*n=((T100*)malloc(sizeof(*n))/*16*/);
  1011. *n=M100;
  1012. r100make(n,(/*RF2*/(C)->_tag/*0*/),(/*RF2*/(C)->_expression/*4*/),(/*RF2*/(C)->_comment/*8*/));
  1013. R=((T0*)n);
  1014. }
  1015. R=r100to_runnable(((T100*)R),a1,a2);
  1016. }
  1017. /*FI]*/
  1018. return R;
  1019. }
  1020.  
  1021.  
  1022. T6 r100is_pre_computable(T100* C){
  1023. T6 R=0;
  1024. /*[IF*/
  1025. if(((/*RF2*/(C)->_expression/*4*/))==((void*)(NULL))){
  1026. R=1;
  1027. }
  1028. else{
  1029. R=X104is_pre_computable((/*RF2*/(C)->_expression/*4*/));
  1030. }
  1031. /*FI]*/
  1032. return R;
  1033. }
  1034.  
  1035.  
  1036. void r100error(T68 a1,T0* a2){
  1037. r66add_position(a1);
  1038. /*[IRF3.6append*/{T0* b1=a2;
  1039. r7append((T7*)(oBC66explanation),b1);
  1040. }/*]*/
  1041. r66print_as_error((T66*)(oBC13eh));
  1042. }
  1043.  
  1044.  
  1045. T68 r100start_position(T100* C){
  1046. T68 R={NULL,0};
  1047. /*[IF*/
  1048. if(((/*RF2*/(C)->_tag/*0*/))!=((void*)(NULL))){
  1049. R=(/*RF2*/((T105*)((/*RF2*/(C)->_tag/*0*/)))->_start_position/*4*/);
  1050. }
  1051.  else if(((/*RF2*/(C)->_expression/*4*/))!=((void*)(NULL))){
  1052. {T68 se_tmp0;
  1053. R=(*(se_tmp0=X104start_position((/*RF2*/(C)->_expression/*4*/)),&se_tmp0));
  1054. }
  1055. }
  1056. else{
  1057. R=(/*RF2*/((T81*)((/*RF2*/(C)->_comment/*8*/)))->_start_position/*0*/);
  1058. }
  1059. /*FI]*/
  1060. return R;
  1061. }
  1062.  
  1063.  
  1064. void r124compile_to_c_old(T124* C){
  1065. X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
  1066. /*[IF*/
  1067. {/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  1068. }
  1069. /*FI]*/
  1070. }
  1071.  
  1072.  
  1073. T0* r124runnable_expression(T0* a1,T0* a2){
  1074. T0* R=NULL;
  1075. R=X104to_runnable(a1,a2);
  1076. /*[IF*/
  1077. if((R)==((void*)(NULL))){
  1078. {T68 se_tmp0;
  1079. r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
  1080. }
  1081. r124fatal_error(((T0*)ms116_16290));
  1082. }
  1083. /*FI]*/
  1084. return R;
  1085. }
  1086.  
  1087.  
  1088. void r124run_feature_has_result(T124* C){
  1089. /*[IF*/
  1090. if((X334result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
  1091. {T68 se_tmp0;
  1092. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
  1093. }
  1094. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  1095. r124fatal_error(((T0*)ms115_53215));
  1096. }
  1097. /*FI]*/
  1098. }
  1099.  
  1100.  
  1101. void r124run_feature_match(T124* C,T0* a1){
  1102. r124run_feature_has_result(C);
  1103. X139match_with((/*RF2*/(C)->_arguments/*8*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
  1104. }
  1105.  
  1106.  
  1107. T0* r124add_comment(T124* C,T0* a1){
  1108. T0* R=NULL;
  1109. /*[IF*/
  1110. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  1111. R=((T0*)(C));
  1112. }
  1113. else{
  1114. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  1115. *n=M229;
  1116. r229make(n,(T0*)C,a1);
  1117. R=((T0*)n);
  1118. }
  1119. }
  1120. /*FI]*/
  1121. return R;
  1122. }
  1123.  
  1124.  
  1125. void r124with(T124* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  1126. (/*SFN*/C->_target)=a1;
  1127. (/*SFN*/C->_feature_name)=a2;
  1128. (/*SFN*/C->_arguments)=a3;
  1129. (/*SFN*/C->_run_feature)=a4;
  1130. r124run_feature_match(C,a5);
  1131. }
  1132.  
  1133.  
  1134. void r124mapping_c_target(T124* C,T0* a1){
  1135. T0* _actual_type=NULL;
  1136. T6 _flag=0;
  1137. _flag=r325call_invariant_start(a1);
  1138. _actual_type=X52run_type(r124result_type(C));
  1139. /*[IF*/
  1140. if(X52is_reference(_actual_type)){
  1141. /*[IF*/
  1142. if(X52is_reference(a1)){
  1143. X52mapping_cast(a1);
  1144. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1145. T3 b1=((T3)'\50');
  1146. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1147. }/*]*/
  1148. /*]*/
  1149. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T124* C1=C;
  1150. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  1151. }/*]*/
  1152. /*]*/
  1153. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1154. T3 b1=((T3)'\51');
  1155. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1156. }/*]*/
  1157. /*]*/
  1158. }
  1159. else{
  1160. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T124* C1=C;
  1161. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  1162. }/*]*/
  1163. /*]*/
  1164. }
  1165. /*FI]*/
  1166. }
  1167. else{
  1168. /*[IF*/
  1169. if(X52is_reference(a1)){
  1170. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T124* C1=C;
  1171. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  1172. }/*]*/
  1173. /*]*/
  1174. }
  1175. else{
  1176. /*[IF*/
  1177. if(X52need_c_struct(a1)){
  1178. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1179. T3 b1=((T3)'\46');
  1180. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1181. }/*]*/
  1182. /*]*/
  1183. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1184. T3 b1=((T3)'\50');
  1185. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1186. }/*]*/
  1187. /*]*/
  1188. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T124* C1=C;
  1189. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  1190. }/*]*/
  1191. /*]*/
  1192. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  1193. T3 b1=((T3)'\51');
  1194. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1195. }/*]*/
  1196. /*]*/
  1197. }
  1198. else{
  1199. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T124* C1=C;
  1200. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  1201. }/*]*/
  1202. /*]*/
  1203. }
  1204. /*FI]*/
  1205. }
  1206. /*FI]*/
  1207. }
  1208. /*FI]*/
  1209. /*[IF*/
  1210. if(_flag){
  1211. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  1212. T3 b1=((T3)'\51');
  1213. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  1214. }/*]*/
  1215. /*]*/
  1216. }
  1217. /*FI]*/
  1218. }
  1219.  
  1220.  
  1221. void r124afd_check(T124* C){
  1222. T0* _running=NULL;
  1223. T0* _rc=NULL;
  1224. /*[IF*/
  1225. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  1226. _rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
  1227. _running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
  1228. /*[IF*/
  1229. if((_running)==((void*)(NULL))){
  1230. }
  1231.  else if((r53count(((T53*)_running)))>(1)){
  1232. r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
  1233. }
  1234. /*FI]*/
  1235. }
  1236. /*FI]*/
  1237. X104afd_check((/*RF2*/(C)->_target/*4*/));
  1238. /*[IF*/
  1239. {/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  1240. }
  1241. /*FI]*/
  1242. }
  1243.  
  1244.  
  1245. void r124c_declare_for_old(T124* C){
  1246. X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
  1247. /*[IF*/
  1248. {/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  1249. }
  1250. /*FI]*/
  1251. }
  1252.  
  1253.  
  1254. void r124collect_c_tmp(T124* C){
  1255. /*[IF*/
  1256. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  1257. X334collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
  1258. }
  1259. /*FI]*/
  1260. X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
  1261. /*[IF*/
  1262. if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
  1263. /*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  1264. }
  1265. /*FI]*/
  1266. }
  1267.  
  1268.  
  1269. T0* r124operator(void){
  1270. T0* R=NULL;
  1271. R=((T0*)ms15_47);
  1272. return R;
  1273. }
  1274.  
  1275.  
  1276. T6 r124use_current(T124* C){
  1277. T6 R=0;
  1278. /*[IF*/
  1279. {/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  1280. }
  1281. /*FI]*/
  1282. /*[IF*/
  1283. if(R){
  1284. }
  1285.  else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  1286. R=X334use_current((/*RF2*/(C)->_run_feature/*16*/));
  1287. }
  1288. else{
  1289. R=X104use_current((/*RF2*/(C)->_target/*4*/));
  1290. }
  1291. /*FI]*/
  1292. return R;
  1293. }
  1294.  
  1295.  
  1296. T0* r124runnable_args(T0* a1,T0* a2){
  1297. T0* R=NULL;
  1298. R=X139to_runnable(a1,a2);
  1299. /*[IF*/
  1300. if((R)==((void*)(NULL))){
  1301. {T68 se_tmp0;
  1302. r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
  1303. }
  1304. r124fatal_error(((T0*)ms14_12870));
  1305. }
  1306. /*FI]*/
  1307. return R;
  1308. }
  1309.  
  1310.  
  1311. T0* r124to_runnable(T124* C,T0* a1){
  1312. T0* R=NULL;
  1313. T0* _target_type=NULL;
  1314. T0* _argument_type=NULL;
  1315. T0* _rf=NULL;
  1316. T0* _a=NULL;
  1317. T0* _t=NULL;
  1318. _t=r124runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
  1319. _a=r124runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
  1320. _target_type=X104result_type(_t);
  1321. _argument_type=X104result_type(r124arg1(C));
  1322. /*[IF*/
  1323. if(X52is_real(_argument_type)){
  1324. /*[IF*/
  1325. if(X52is_integer(_target_type)){
  1326. _t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
  1327. }
  1328. /*FI]*/
  1329. }
  1330.  else if(X52is_double(_argument_type)){
  1331. /*[IF*/
  1332. if((X52is_integer(_target_type))||(X52is_real(_target_type))){
  1333. _t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
  1334. }
  1335. /*FI]*/
  1336. }
  1337. /*FI]*/
  1338. _rf=r124run_feature_for(C,_t,a1);
  1339. /*[IF*/
  1340. if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
  1341. (/*SFN*/C->_target)=_t;
  1342. (/*SFN*/C->_arguments)=_a;
  1343. (/*SFN*/C->_run_feature)=_rf;
  1344. r124run_feature_match(C,a1);
  1345. R=((T0*)(C));
  1346. }
  1347.  else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
  1348. R=((T0*)(C));
  1349. }
  1350. else{
  1351. {T124*n=((T124*)malloc(sizeof(*n))/*24*/);
  1352. *n=M124;
  1353. r124with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a,_rf,a1);
  1354. R=((T0*)n);
  1355. }
  1356. }
  1357. /*FI]*/
  1358. return R;
  1359. }
  1360.  
  1361.  
  1362. T2 r124to_integer(T124* C){
  1363. T2 R=0;
  1364. r124error(/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
  1365. return R;
  1366. }
  1367.  
  1368.  
  1369. void r124finalize(T124* C){
  1370. T0* _rf=NULL;
  1371. T0* _rc=NULL;
  1372. _rf=(/*RF2*/(C)->_run_feature/*16*/);
  1373. _rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
  1374. (/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
  1375. }
  1376.  
  1377.  
  1378. void r124error(T68 a1,T0* a2){
  1379. r66add_position(a1);
  1380. /*[IRF3.6append*/{T0* b1=a2;
  1381. r7append((T7*)(oBC66explanation),b1);
  1382. }/*]*/
  1383. r66print_as_error((T66*)(oBC13eh));
  1384. }
  1385.  
  1386.  
  1387. T0* r124result_type(T124* C){
  1388. T0* R=NULL;
  1389. T0* _tla=NULL;
  1390. R=X334result_type((/*RF2*/(C)->_run_feature/*16*/));
  1391. /*[IF*/
  1392. if(X52is_like_current(R)){
  1393. R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
  1394. }
  1395. else{
  1396. _tla=R;
  1397. if(NULL!=(_tla)){
  1398. switch(((T0*)_tla)->id){
  1399. case 257:
  1400. break;
  1401. default:
  1402. _tla=NULL;
  1403. }
  1404. }/*[IF*/
  1405. if((_tla)!=((void*)(NULL))){
  1406. R=X52run_type(X104result_type(r124arg1(C)));
  1407. }
  1408. /*FI]*/
  1409. }
  1410. /*FI]*/
  1411. return R;
  1412. }
  1413.  
  1414.  
  1415. T0* r124arg1(T124* C){
  1416. T0* R=NULL;
  1417. R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
  1418. return R;
  1419. }
  1420.  
  1421.  
  1422. T6 r124call_proc_call_stupid_switch(T124* C,T0* a1){
  1423. T6 R=0;
  1424. /*[IF*/
  1425. if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
  1426. R=1;
  1427. }
  1428. else{
  1429. R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*8*/)),a1);
  1430. }
  1431. /*FI]*/
  1432. /*[IF*/
  1433. if(R){
  1434. /*[IF*/
  1435. if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  1436. /*[IF*/
  1437. if(r49same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
  1438. R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
  1439. }
  1440. else{
  1441. R=0;
  1442. }
  1443. /*FI]*/
  1444. }
  1445. else{
  1446. R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
  1447. }
  1448. /*FI]*/
  1449. }
  1450. /*FI]*/
  1451. return R;
  1452. }
  1453.  
  1454.  
  1455. T0* r124run_feature_for(T124* C,T0* a1,T0* a2){
  1456. T0* R=NULL;
  1457. T0* _bc=NULL;
  1458. T0* _rt=NULL;
  1459. T0* _rc=NULL;
  1460. _rt=X104result_type(a1);
  1461. /*[IF*/
  1462. if((_rt)!=((void*)(NULL))){
  1463. _rc=X52run_class(_rt);
  1464. /*[IF*/
  1465. if((_rc)!=((void*)(NULL))){
  1466. _bc=r50base_class(((T50*)_rc));
  1467. R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
  1468. }
  1469. /*FI]*/
  1470. }
  1471. /*FI]*/
  1472. /*[IF*/
  1473. if((R)==((void*)(NULL))){
  1474. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  1475. /*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
  1476. r7append((T7*)(oBC66explanation),b1);
  1477. }/*]*/
  1478. r66print_as_fatal_error((T66*)(oBC13eh));
  1479. }
  1480. /*FI]*/
  1481. return R;
  1482. }
  1483.  
  1484.  
  1485. T0* r124static_result_base_class(T124* C){
  1486. T0* R=NULL;
  1487. T0* _cn=NULL;
  1488. T0* _rt=NULL;
  1489. T0* _e_feature=NULL;
  1490. T0* _bc=NULL;
  1491. _bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
  1492. /*[IF*/
  1493. if((_bc)!=((void*)(NULL))){
  1494. _e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
  1495. /*[IF*/
  1496. if((_e_feature)!=((void*)(NULL))){
  1497. _rt=X90result_type(_e_feature);
  1498. /*[IF*/
  1499. if((_rt)!=((void*)(NULL))){
  1500. _cn=X52static_base_class_name(_rt);
  1501. /*[IF*/
  1502. if((_cn)!=((void*)(NULL))){
  1503. R=r61base_class(((T61*)_cn));
  1504. }
  1505. /*FI]*/
  1506. }
  1507. /*FI]*/
  1508. }
  1509. /*FI]*/
  1510. }
  1511. /*FI]*/
  1512. return R;
  1513. }
  1514.  
  1515.  
  1516. void r124make(T124* C,T0* a1,T68 a2,T0* a3){
  1517. (/*SFN*/C->_target)=a1;
  1518. {T129*n=((T129*)malloc(sizeof(*n))/*20*/);
  1519. *n=M129;
  1520. r129make(n,r124operator(),a2);
  1521. (/*SFN*/C->_feature_name)=((T0*)n);
  1522. }
  1523. {T139*n=((T139*)malloc(sizeof(*n))/*16*/);
  1524. *n=M139;
  1525. /*[IRF3.3make_1*/((((T139*)(n)))->_first_one)=(a3);
  1526. /*]*/
  1527. (/*SFN*/C->_arguments)=((T0*)n);
  1528. }
  1529. }
  1530.  
  1531.  
  1532. void r124fatal_error(T0* a1){
  1533. /*[IRF3.6append*/{T0* b1=a1;
  1534. r7append((T7*)(oBC66explanation),b1);
  1535. }/*]*/
  1536. r66print_as_fatal_error((T66*)(oBC13eh));
  1537. }
  1538.  
  1539.  
  1540. void r124assertion_check(T124* C,T3 a1){
  1541. /*[IF*/
  1542. if((a1)==(((T3)'R'))){
  1543. X334vape_check_from((/*RF2*/(C)->_run_feature/*16*/),/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
  1544. }
  1545. /*FI]*/
  1546. X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
  1547. X104assertion_check(r124arg1(C),a1);
  1548. }
  1549.  
  1550.  
  1551. T6 r124stupid_switch(T124* C,T0* a1){
  1552. T6 R=0;
  1553. R=r124call_proc_call_stupid_switch(C,a1);
  1554. /*[IF*/
  1555. if(R){
  1556. R=!(X52is_native_array(r124result_type(C)));
  1557. }
  1558. /*FI]*/
  1559. return R;
  1560. }
  1561.  
  1562.  
  1563. T6 r242is_always_true(T242* C){
  1564. T6 R=0;
  1565. T0* _assertion=NULL;
  1566. T2 _i=0;
  1567. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
  1568. R=1;
  1569. while (!((!(R))||((_i)==(0))))
  1570. {
  1571. _assertion=r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i);
  1572. R=r100is_always_true(((T100*)_assertion));
  1573. _i=(_i)-(1);
  1574. }
  1575. return R;
  1576. }
  1577.  
  1578.  
  1579. T0* r242check_assertion_mode(void){
  1580. T0* R=NULL;
  1581. R=((T0*)ms242_993);
  1582. return R;
  1583. }
  1584.  
  1585.  
  1586. void r242make(T242* C,T68 a1,T0* a2,T0* a3){
  1587. (/*SFN*/C->_start_position)=a1;
  1588. (/*SFN*/C->_header_comment)=a2;
  1589. (/*SFN*/C->_list)=a3;
  1590. }
  1591.  
  1592.  
  1593. void r242compile_to_c(T242* C){
  1594. T0* _assertion=NULL;
  1595. T6 _need_se_tmp=0;
  1596. T2 _i=0;
  1597. /*[IF*/
  1598. if(r242is_always_true(C)){
  1599. r325increment_static_expression_count((T325*)(oBC13cpp),r101count((T101*)((/*RF2*/(C)->_list/*12*/))));
  1600. }
  1601. else{
  1602. /*[IF*/
  1603. if(((/*RF2*/(C)->_run_feature/*20*/))==((void*)(NULL))){
  1604. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_51064));
  1605. /*]*/
  1606. }
  1607. else{
  1608. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_741));
  1609. /*]*/
  1610. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
  1611. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_522));
  1612. /*]*/
  1613. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
  1614. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_712));
  1615. /*]*/
  1616. }
  1617. /*FI]*/
  1618. _i=1;
  1619. while (!((_i)>((/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/))))
  1620. {
  1621. _assertion=r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i);
  1622. /*[IF*/
  1623. if(r100is_always_true(((T100*)_assertion))){
  1624. }
  1625. else{
  1626. r100collect_c_tmp(((T100*)_assertion));
  1627. _need_se_tmp=r325se_tmp_open_declaration((T325*)(oBC13cpp));
  1628. /*[IRF3.3set_check_assertion_mode*/((((T325*)((T325*)(oBC13cpp))))->_check_assertion_mode)=(r242check_assertion_mode());
  1629. /*]*/
  1630. r100compile_to_c(((T100*)_assertion));
  1631. /*[IF*/
  1632. if(_need_se_tmp){
  1633. r325se_tmp_close_declaration((T325*)(oBC13cpp));
  1634. }
  1635. /*FI]*/
  1636. }
  1637. /*FI]*/
  1638. _i=(_i)+(1);
  1639. }
  1640. /*[IF*/
  1641. if(((/*RF2*/(C)->_run_feature/*20*/))==((void*)(NULL))){
  1642. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_19791));
  1643. /*]*/
  1644. }
  1645. else{
  1646. /*SSPRF3*//*X334c_assertion_flag*/r368c_assertion_flag((T368*)((/*RF2*/(C)->_run_feature/*20*/)));
  1647. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms103_2184));
  1648. /*]*/
  1649. }
  1650. /*FI]*/
  1651. }
  1652. /*FI]*/
  1653. }
  1654.  
  1655.  
  1656. void r242afd_check(T242* C){
  1657. T2 _i=0;
  1658. /*[IF*/
  1659. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  1660. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
  1661. while (!((_i)==(0)))
  1662. {
  1663. r100afd_check((T100*)(r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i)));
  1664. _i=(_i)-(1);
  1665. }
  1666. }
  1667. /*FI]*/
  1668. }
  1669.  
  1670.  
  1671. T6 r242use_current(T242* C){
  1672. T6 R=0;
  1673. T2 _i=0;
  1674. /*[IF*/
  1675. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  1676. _i=(/*RF2*/((T101*)((/*RF2*/(C)->_list/*12*/)))->_upper/*8*/);
  1677. while (!((R)||((_i)==(0))))
  1678. {
  1679. R=r100use_current((T100*)(r101item((T101*)((/*RF2*/(C)->_list/*12*/)),_i)));
  1680. _i=(_i)-(1);
  1681. }
  1682. }
  1683. /*FI]*/
  1684. return R;
  1685. }
  1686.  
  1687.  
  1688. T0* r242to_runnable(T242* C,T0* a1){
  1689. T0* R=NULL;
  1690. /*[IF*/
  1691. if(((/*RF2*/(C)->_current_type/*16*/))==((void*)(NULL))){
  1692. (/*SFN*/C->_current_type)=a1;
  1693. (/*SFN*/C->_run_feature)=r49top_rf((T49*)(oBC13small_eiffel));
  1694. /*[IF*/
  1695. if(((/*RF2*/(C)->_list/*12*/))!=((void*)(NULL))){
  1696. (/*SFN*/C->_list)=r383runnable((/*RF2*/(C)->_list/*12*/),a1,(/*RF2*/(C)->_run_feature/*20*/),((T3)'\137'));
  1697. }
  1698. /*FI]*/
  1699. /*[IF*/
  1700. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  1701. R=((T0*)(C));
  1702. }
  1703. /*FI]*/
  1704. }
  1705. else{
  1706. R=r242twin(C);
  1707. /*[IRF3.3set_current_type*/((((T242*)(((T242*)R))))->_current_type)=(NULL);
  1708. /*]*/
  1709. R=r242to_runnable(((T242*)R),a1);
  1710. }
  1711. /*FI]*/
  1712. return R;
  1713. }
  1714.  
  1715.  
  1716. T0* r242twin(T242* C){
  1717. T0* R=NULL;
  1718. R=malloc(sizeof(*C));
  1719. *((T242*)R)=*C;
  1720. return R;
  1721. }
  1722. T0*oBC13assertion_collector=NULL;
  1723.  
  1724.  
  1725. T0* r270generic_list(T270* C){
  1726. T0* R=NULL;
  1727. r270fatal_error_generic_list(C);
  1728. return R;
  1729. }
  1730.  
  1731.  
  1732. void r270gc_call_new_in(T0* a1){
  1733. r7append(((T7*)a1),((T0*)ms14_990));
  1734. r2append_in(4,a1);
  1735. r7extend(((T7*)a1),((T3)'\50'));
  1736. r7extend(((T7*)a1),((T3)'\51'));
  1737. }
  1738.  
  1739.  
  1740. T0* r270base_class(T270* C){
  1741. T0* R=NULL;
  1742. T0* _bcn=NULL;
  1743. _bcn=(/*RF2*/(C)->_base_class_name/*4*/);
  1744. /*[IF*/
  1745. if((_bcn)!=((void*)(NULL))){
  1746. R=r61base_class(((T61*)_bcn));
  1747. }
  1748. else{
  1749. /*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
  1750. r7append((T7*)(oBC66explanation),b1);
  1751. }/*]*/
  1752. r66add_type((T0*)C,((T0*)ms14_46));
  1753. r66print_as_fatal_error((T66*)(oBC13eh));
  1754. }
  1755. /*FI]*/
  1756. return R;
  1757. }
  1758.  
  1759.  
  1760. T0* r270look_up_for(T270* C,T0* a1,T0* a2){
  1761. T0* R=NULL;
  1762. R=r51look_up_for((T51*)(r270base_class(C)),a1,a2);
  1763. return R;
  1764. }
  1765.  
  1766.  
  1767. T2 r270c_sizeof(void){
  1768. T2 R=0;
  1769. R=sizeof(T4);
  1770. return R;
  1771. }
  1772.  
  1773.  
  1774. T6 r270has_creation(T270* C,T0* a1){
  1775. T6 R=0;
  1776. {T68 se_tmp0;
  1777. r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
  1778. }
  1779. r270error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms264_99414));
  1780. return R;
  1781. }
  1782.  
  1783.  
  1784. void r270error(T68 a1,T0* a2){
  1785. r66add_position(a1);
  1786. /*[IRF3.6append*/{T0* b1=a2;
  1787. r7append((T7*)(oBC66explanation),b1);
  1788. }/*]*/
  1789. r66print_as_error((T66*)(oBC13eh));
  1790. }
  1791.  
  1792.  
  1793. T0* r270actual_reference(T0* a1){
  1794. T0* R=NULL;
  1795. T0* _cn=NULL;
  1796. /*[IF*/
  1797. if((X52run_time_mark(a1))==((void*)(((T0*)ms15_7576)))){
  1798. R=a1;
  1799. }
  1800. else{
  1801. {T68 se_tmp0;
  1802. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  1803. *n=M61;
  1804. r61make(n,((T0*)ms15_7576),(*(se_tmp0=X52start_position(a1),&se_tmp0)));
  1805. _cn=((T0*)n);
  1806. }
  1807. }
  1808. {T272*n=((T272*)malloc(sizeof(*n))/*8*/);
  1809. *n=M272;
  1810. /*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_cn);
  1811. /*]*/
  1812. R=((T0*)n);
  1813. }
  1814. }
  1815. /*FI]*/
  1816. return R;
  1817. }
  1818.  
  1819.  
  1820. T6 r270is_a_in(T270* C,T0* a1,T0* a2){
  1821. T6 R=0;
  1822. T0* _ct=NULL;
  1823. T0* _t2=NULL;
  1824. T0* _t1=NULL;
  1825. /*[IF*/
  1826. if((r270written_mark())==((void*)(X52written_mark(a1)))){
  1827. R=1;
  1828. }
  1829. else{
  1830. _ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
  1831. _t1=r270to_runnable(C,_ct);
  1832. _t2=X52to_runnable(a1,_ct);
  1833. /*[IF*/
  1834. if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
  1835. R=1;
  1836. }
  1837. else{
  1838. R=X52is_a(_t1,_t2);
  1839. }
  1840. /*FI]*/
  1841. }
  1842. /*FI]*/
  1843. return R;
  1844. }
  1845.  
  1846.  
  1847. T6 r270is_native_array(T270* C){
  1848. T6 R=0;
  1849. T0* _tna=NULL;
  1850. _tna=NULL;
  1851. R=(_tna)!=((void*)(NULL));
  1852. return R;
  1853. }
  1854.  
  1855.  
  1856. T6 r270is_a(T270* C,T0* a1){
  1857. T6 R=0;
  1858. /*[IF*/
  1859. if((X52is_real(a1))||(X52is_double(a1))){
  1860. R=1;
  1861. }
  1862.  else if(r51is_subclass_of((T51*)(r270base_class(C)),X52base_class(a1))){
  1863. R=1;
  1864. }
  1865. /*FI]*/
  1866. /*[IF*/
  1867. if(!(R)){
  1868. r66add_type((T0*)C,((T0*)ms14_17460));
  1869. r66add_type(a1,((T0*)ms14_46));
  1870. }
  1871. /*FI]*/
  1872. return R;
  1873. }
  1874.  
  1875.  
  1876. void r270make(T270* C,T68 a1){
  1877. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  1878. *n=M61;
  1879. r61make(n,((T0*)ms15_1168),a1);
  1880. (/*SFN*/C->_base_class_name)=((T0*)n);
  1881. }
  1882. }
  1883. T0*oBC270type_real_ref=NULL;
  1884. int fBC270type_real_ref=0;
  1885.  
  1886.  
  1887. T0* r270type_real_ref(void){
  1888. if(fBC270type_real_ref==0){fBC270type_real_ref=1;{
  1889. T0* _real_ref=NULL;
  1890. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  1891. *n=M61;
  1892. /*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(((T0*)ms15_7576));
  1893. /*]*/
  1894. _real_ref=((T0*)n);
  1895. }
  1896. {T272*n=((T272*)malloc(sizeof(*n))/*8*/);
  1897. *n=M272;
  1898. oBC270type_real_ref=((T0*)n);
  1899. /*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_real_ref);
  1900. /*]*/
  1901. }
  1902. }}
  1903. return oBC270type_real_ref;
  1904. }
  1905.  
  1906.  
  1907. void r270fatal_error_generic_list(T270* C){
  1908. r66add_type((T0*)C,((T0*)ms52_28899));
  1909. r66print_as_fatal_error((T66*)(oBC13eh));
  1910. }
  1911.  
  1912.  
  1913. void r270c_initialize_in(T0* a1){
  1914. /*[IF*/
  1915. /*AF*//*AE*/
  1916. r7extend(((T7*)a1),((T3)'0'));
  1917. /*FI]*/
  1918. }
  1919.  
  1920.  
  1921. T0* r270smallest_ancestor(T270* C,T0* a1){
  1922. T0* R=NULL;
  1923. T0* _rto=NULL;
  1924. _rto=X52run_type(a1);
  1925. /*[IF*/
  1926. if(X52is_integer(_rto)){
  1927. R=((T0*)(C));
  1928. }
  1929.  else if(X52is_real(_rto)){
  1930. R=((T0*)(C));
  1931. }
  1932.  else if(X52is_double(_rto)){
  1933. R=a1;
  1934. }
  1935. else{
  1936. R=r272smallest_ancestor((T272*)(r270type_real_ref()),_rto);
  1937. }
  1938. /*FI]*/
  1939. return R;
  1940. }
  1941. int fBC270check_type=0;
  1942.  
  1943.  
  1944. void r270check_type(T270* C){
  1945. if(fBC270check_type==0){fBC270check_type=1;{
  1946. T0* _rc=NULL;
  1947. T0* _bc=NULL;
  1948. _bc=r270base_class(C);
  1949. /*[IF*/
  1950. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  1951. _rc=r270run_class(C);
  1952. r270load_ref(((T0*)ms15_7576));
  1953. }
  1954. /*FI]*/
  1955. /*[IF*/
  1956. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  1957. /*[IF*/
  1958. if(!((/*RF2*/(((T51*)_bc))->_is_expanded/*17*/))){
  1959. r270error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms270_29392));
  1960. }
  1961. /*FI]*/
  1962. }
  1963. /*FI]*/
  1964. }}}
  1965.  
  1966.  
  1967. void r270load_ref(T0* a1){
  1968. T0* _rf=NULL;
  1969. T0* _rc=NULL;
  1970. T0* _cn=NULL;
  1971. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  1972. *n=M61;
  1973. /*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(a1);
  1974. /*]*/
  1975. _cn=((T0*)n);
  1976. }
  1977. _rc=r51run_class((T51*)(r61base_class(((T61*)_cn))));
  1978. _rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_1724));
  1979. }
  1980.  
  1981.  
  1982. T0* r270to_runnable(T270* C,T0* a1){
  1983. T0* R=NULL;
  1984. R=((T0*)(C));
  1985. r270check_type(C);
  1986. return R;
  1987. }
  1988.  
  1989.  
  1990. void r270id_extra_information(T0* a1){
  1991. r48put_string(((T48*)a1),((T0*)ms52_9724));
  1992. /*[IF*/
  1993. /*AF*//*AE*/
  1994. r48put_string(((T48*)a1),((T0*)ms52_759));
  1995. /*FI]*/
  1996. }
  1997.  
  1998.  
  1999. void r270gc_mark_in(T0* a1){
  2000. r7append(((T7*)a1),((T0*)ms14_8764));
  2001. r2append_in(4,a1);
  2002. }
  2003.  
  2004.  
  2005. void r270c_type_for_external_in(T0* a1){
  2006. /*[IF*/
  2007. /*AF*//*AE*/
  2008. /*[IRF3.6c_type_for_result_in*/{T0* b1=a1;
  2009. r270c_type_for_argument_in(b1);
  2010. }/*]*/
  2011. /*FI]*/
  2012. }
  2013.  
  2014.  
  2015. void r270c_type_for_argument_in(T0* a1){
  2016. r7extend(((T7*)a1),((T3)'T'));
  2017. r7extend(((T7*)a1),((T3)'4'));
  2018. }
  2019.  
  2020.  
  2021. T0* r270run_time_mark(void){
  2022. T0* R=NULL;
  2023. R=((T0*)ms15_1168);
  2024. return R;
  2025. }
  2026.  
  2027.  
  2028. T0* r270run_class(T270* C){
  2029. T0* R=NULL;
  2030. R=r49run_class((T0*)C);
  2031. return R;
  2032. }
  2033.  
  2034.  
  2035. void r270demangling_in(T0* a1){
  2036. /*[IF*/
  2037. /*AF*//*AE*/
  2038. r7extend(((T7*)a1),((T3)'E'));
  2039. /*FI]*/
  2040. r7extend(((T7*)a1),((T3)'\40'));
  2041. r7append(((T7*)a1),r270run_time_mark());
  2042. }
  2043.  
  2044.  
  2045. T0* r270written_mark(void){
  2046. T0* R=NULL;
  2047. R=((T0*)ms15_1168);
  2048. return R;
  2049. }
  2050.  
  2051.  
  2052. T0* r174base_class_written(T174* C){
  2053. T0* R=NULL;
  2054. R=(/*RF2*/((/*RF2*/(C)->_start_position/*4*/))._base_class/*0*/);
  2055. return R;
  2056. }
  2057. T0*oBC172tmp_string=NULL;
  2058.  
  2059.  
  2060. void r174warning(T68 a1,T0* a2){
  2061. r66add_position(a1);
  2062. /*[IRF3.6append*/{T0* b1=a2;
  2063. r7append((T7*)(oBC66explanation),b1);
  2064. }/*]*/
  2065. r66print_as_warning((T66*)(oBC13eh));
  2066. }
  2067.  
  2068.  
  2069. T0* r174add_comment(T174* C,T0* a1){
  2070. T0* R=NULL;
  2071. /*[IF*/
  2072. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  2073. R=((T0*)(C));
  2074. }
  2075. else{
  2076. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  2077. *n=M229;
  2078. r229make(n,(T0*)C,a1);
  2079. R=((T0*)n);
  2080. }
  2081. }
  2082. /*FI]*/
  2083. return R;
  2084. }
  2085.  
  2086.  
  2087. void r174mapping_c_target(T174* C,T0* a1){
  2088. T0* _rt=NULL;
  2089. T6 _flag=0;
  2090. _flag=r325call_invariant_start(a1);
  2091. _rt=X52run_type((/*RF2*/(C)->_result_type/*16*/));
  2092. /*[IF*/
  2093. if(X52is_reference(_rt)){
  2094. /*[IF*/
  2095. if(X52is_reference(a1)){
  2096. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2097. T3 b1=((T3)'\50');
  2098. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2099. }/*]*/
  2100. /*]*/
  2101. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2102. T3 b1=((T3)'\50');
  2103. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2104. }/*]*/
  2105. /*]*/
  2106. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2107. T3 b1=((T3)'T');
  2108. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2109. }/*]*/
  2110. /*]*/
  2111. /*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X52id(a1));
  2112. /*]*/
  2113. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2114. T3 b1=((T3)'\52');
  2115. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2116. }/*]*/
  2117. /*]*/
  2118. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2119. T3 b1=((T3)'\51');
  2120. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2121. }/*]*/
  2122. /*]*/
  2123. /*[IRF3.6compile_to_c*/{T174* C1=C;
  2124. r325print_local((T325*)(oBC13cpp),(/*RF2*/(C1)->_to_string/*12*/));
  2125. }/*]*/
  2126. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2127. T3 b1=((T3)'\51');
  2128. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2129. }/*]*/
  2130. /*]*/
  2131. }
  2132. else{
  2133. /*[IRF3.6compile_to_c*/{T174* C1=C;
  2134. r325print_local((T325*)(oBC13cpp),(/*RF2*/(C1)->_to_string/*12*/));
  2135. }/*]*/
  2136. }
  2137. /*FI]*/
  2138. }
  2139.  else if(X52is_reference(a1)){
  2140. /*[IRF3.6compile_to_c*/{T174* C1=C;
  2141. r325print_local((T325*)(oBC13cpp),(/*RF2*/(C1)->_to_string/*12*/));
  2142. }/*]*/
  2143. }
  2144. else{
  2145. /*[IF*/
  2146. if(X52need_c_struct(_rt)){
  2147. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2148. T3 b1=((T3)'\46');
  2149. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2150. }/*]*/
  2151. /*]*/
  2152. }
  2153. /*FI]*/
  2154. /*[IRF3.6compile_to_c*/{T174* C1=C;
  2155. r325print_local((T325*)(oBC13cpp),(/*RF2*/(C1)->_to_string/*12*/));
  2156. }/*]*/
  2157. }
  2158. /*FI]*/
  2159. /*[IF*/
  2160. if(_flag){
  2161. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  2162. T3 b1=((T3)'\51');
  2163. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2164. }/*]*/
  2165. /*]*/
  2166. }
  2167. /*FI]*/
  2168. }
  2169.  
  2170.  
  2171. T0* r174to_runnable(T174* C,T0* a1){
  2172. T0* R=NULL;
  2173. T0* _rt=NULL;
  2174. _rt=X52to_runnable((/*RF2*/(C)->_result_type/*16*/),a1);
  2175. /*[IF*/
  2176. if((_rt)==((void*)(NULL))){
  2177. {T68 se_tmp0;
  2178. r66add_position((*(se_tmp0=X52start_position((/*RF2*/(C)->_result_type/*16*/)),&se_tmp0)));
  2179. }
  2180. r174error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms174_24263));
  2181. }
  2182.  else if((X52run_class(_rt))==((void*)(NULL))){
  2183. }
  2184. /*FI]*/
  2185. /*[IF*/
  2186. if((_rt)==((void*)((/*RF2*/(C)->_result_type/*16*/)))){
  2187. R=((T0*)(C));
  2188. }
  2189. else{
  2190. R=r174twin(C);
  2191. /*[IRF3.3set_result_type*/((((T174*)(((T174*)R))))->_result_type)=(_rt);
  2192. /*]*/
  2193. }
  2194. /*FI]*/
  2195. return R;
  2196. }
  2197.  
  2198.  
  2199. T2 r174to_integer(T174* C){
  2200. T2 R=0;
  2201. r174error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms14_45441));
  2202. return R;
  2203. }
  2204.  
  2205.  
  2206. T0* r174twin(T174* C){
  2207. T0* R=NULL;
  2208. R=malloc(sizeof(*C));
  2209. *((T174*)R)=*C;
  2210. return R;
  2211. }
  2212.  
  2213.  
  2214. void r174error(T68 a1,T0* a2){
  2215. r66add_position(a1);
  2216. /*[IRF3.6append*/{T0* b1=a2;
  2217. r7append((T7*)(oBC66explanation),b1);
  2218. }/*]*/
  2219. r66print_as_error((T66*)(oBC13eh));
  2220. }
  2221.  
  2222.  
  2223. T0* r174static_result_base_class(T174* C){
  2224. T0* R=NULL;
  2225. T0* _bcn=NULL;
  2226. _bcn=X52static_base_class_name((/*RF2*/(C)->_result_type/*16*/));
  2227. /*[IF*/
  2228. if((_bcn)!=((void*)(NULL))){
  2229. R=r61base_class(((T61*)_bcn));
  2230. }
  2231. /*FI]*/
  2232. return R;
  2233. }
  2234.  
  2235.  
  2236. void r174make(T174* C,T68 a1,T0* a2){
  2237. (/*SFN*/C->_start_position)=a1;
  2238. (/*SFN*/C->_to_string)=a2;
  2239. }
  2240.  
  2241.  
  2242. void r174name_clash_for(T174* C,T0* a1,T0* a2){
  2243. T0* _bc=NULL;
  2244. T0* _rc=NULL;
  2245. T0* _rf=NULL;
  2246. _bc=r174base_class_written(C);
  2247. /*[IF*/
  2248. if(r51has_simple_feature_name(((T51*)_bc),(/*RF2*/(C)->_to_string/*12*/))){
  2249. _rc=X52run_class(a1);
  2250. _rf=r50get_feature_with(((T50*)_rc),(/*RF2*/(C)->_to_string/*12*/));
  2251. /*[IF*/
  2252. if((_rf)!=((void*)(NULL))){
  2253. {T68 se_tmp0;
  2254. r66add_position((*(se_tmp0=X334start_position(_rf),&se_tmp0)));
  2255. }
  2256. }
  2257. /*FI]*/
  2258. r174error((/*RF2*/(C)->_start_position/*4*/),a2);
  2259. }
  2260. /*FI]*/
  2261. }
  2262.  
  2263.  
  2264. T6 r174produce_c(T174* C){
  2265. T6 R=0;
  2266. T0* _t=NULL;
  2267. /*[IF*/
  2268. if((/*RF2*/(C)->_is_used/*24*/)){
  2269. R=1;
  2270. }
  2271. else{
  2272. _t=X52run_type((/*RF2*/(C)->_result_type/*16*/));
  2273. /*[IF*/
  2274. if(X52is_expanded(_t)){
  2275. R=!(X52is_basic_eiffel_expanded(_t));
  2276. }
  2277. /*FI]*/
  2278. }
  2279. /*FI]*/
  2280. return R;
  2281. }
  2282.  
  2283.  
  2284. void r174c_declare(T174* C){
  2285. T0* _t=NULL;
  2286. /*[IF*/
  2287. if(r174produce_c(C)){
  2288. _t=X52run_type((/*RF2*/(C)->_result_type/*16*/));
  2289. /*[IRF3.3clear*/((((T7*)((T7*)(oBC172tmp_string))))->_count)=(0);
  2290. /*]*/
  2291. X52c_type_for_result_in(_t,oBC172tmp_string);
  2292. r7extend((T7*)(oBC172tmp_string),((T3)'\40'));
  2293. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC172tmp_string);
  2294. /*]*/
  2295. r325print_local((T325*)(oBC13cpp),(/*RF2*/(C)->_to_string/*12*/));
  2296. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2297. T3 b1=((T3)'\75');
  2298. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2299. }/*]*/
  2300. /*]*/
  2301. X52c_initialize(_t);
  2302. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  2303. /*]*/
  2304. }
  2305.  else if(r47debug_check((T47*)(oBC13run_control))){
  2306. r174warning((/*RF2*/(C)->_start_position/*4*/),((T0*)ms174_33880));
  2307. }
  2308. /*FI]*/
  2309. }
  2310.  
  2311.  
  2312. T6 r174stupid_switch(T174* C,T0* a1){
  2313. T6 R=0;
  2314. /*[IF*/
  2315. if(r49stupid_switch((/*RF2*/(C)->_result_type/*16*/),a1)){
  2316. R=1;
  2317. }
  2318. /*FI]*/
  2319. return R;
  2320. }
  2321.  
  2322.  
  2323. void r174c_frame_descriptor(T174* C,T0* a1){
  2324. /*[IF*/
  2325. if(r174produce_c(C)){
  2326. r203increment((T203*)(oBC13c_frame_descriptor_local_count));
  2327. r7append((T7*)(oBC13c_frame_descriptor_format),(/*RF2*/(C)->_to_string/*12*/));
  2328. r7append((T7*)(oBC13c_frame_descriptor_locals),((T0*)ms174_14240));
  2329. r7append((T7*)(oBC13c_frame_descriptor_locals),(/*RF2*/(C)->_to_string/*12*/));
  2330. r7extend((T7*)(oBC13c_frame_descriptor_locals),((T3)'\54'));
  2331. X52c_frame_descriptor(a1);
  2332. }
  2333. /*FI]*/
  2334. }
  2335.  
  2336.  
  2337. void r300fe_c2c(T0* a1){
  2338. {T68 se_tmp0;
  2339. r66add_position((*(se_tmp0=X334start_position(a1),&se_tmp0)));
  2340. }
  2341. r300fatal_error(((T0*)ms288_129648));
  2342. }
  2343.  
  2344.  
  2345. T6 r300stupid_switch_function(T0* a1,T0* a2){
  2346. T6 R=0;
  2347. return R;
  2348. }
  2349.  
  2350.  
  2351. void r300fatal_error(T0* a1){
  2352. /*[IRF3.6append*/{T0* b1=a1;
  2353. r7append((T7*)(oBC66explanation),b1);
  2354. }/*]*/
  2355. r66print_as_fatal_error((T66*)(oBC13eh));
  2356. }
  2357.  
  2358.  
  2359. T6 r300stupid_switch_procedure(T0* a1,T0* a2){
  2360. T6 R=0;
  2361. return R;
  2362. }
  2363.  
  2364.  
  2365. void r171refer_to(T171* C,T68 a1,T0* a2,T2 a3){
  2366. (/*SFN*/C->_start_position)=a1;
  2367. (/*SFN*/C->_local_var_list)=a2;
  2368. (/*SFN*/C->_rank)=a3;
  2369. }
  2370.  
  2371.  
  2372. T0* r171add_comment(T171* C,T0* a1){
  2373. T0* R=NULL;
  2374. /*[IF*/
  2375. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  2376. R=((T0*)(C));
  2377. }
  2378. else{
  2379. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  2380. *n=M229;
  2381. r229make(n,(T0*)C,a1);
  2382. R=((T0*)n);
  2383. }
  2384. }
  2385. /*FI]*/
  2386. return R;
  2387. }
  2388.  
  2389.  
  2390. void r171mapping_c_target(T171* C,T0* a1){
  2391. T0* _rt=NULL;
  2392. T6 _flag=0;
  2393. _flag=r325call_invariant_start(a1);
  2394. _rt=X52run_type(r171result_type(C));
  2395. /*[IF*/
  2396. if(X52is_reference(_rt)){
  2397. /*[IF*/
  2398. if(X52is_reference(a1)){
  2399. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2400. T3 b1=((T3)'\50');
  2401. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2402. }/*]*/
  2403. /*]*/
  2404. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2405. T3 b1=((T3)'\50');
  2406. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2407. }/*]*/
  2408. /*]*/
  2409. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2410. T3 b1=((T3)'T');
  2411. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2412. }/*]*/
  2413. /*]*/
  2414. /*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X52id(a1));
  2415. /*]*/
  2416. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2417. T3 b1=((T3)'\52');
  2418. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2419. }/*]*/
  2420. /*]*/
  2421. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2422. T3 b1=((T3)'\51');
  2423. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2424. }/*]*/
  2425. /*]*/
  2426. /*[IRF3.6compile_to_c*/{T171* C1=C;
  2427. r325print_local((T325*)(oBC13cpp),r171to_string(C1));
  2428. }/*]*/
  2429. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2430. T3 b1=((T3)'\51');
  2431. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2432. }/*]*/
  2433. /*]*/
  2434. }
  2435. else{
  2436. /*[IRF3.6compile_to_c*/{T171* C1=C;
  2437. r325print_local((T325*)(oBC13cpp),r171to_string(C1));
  2438. }/*]*/
  2439. }
  2440. /*FI]*/
  2441. }
  2442.  else if(X52is_reference(a1)){
  2443. /*[IRF3.6compile_to_c*/{T171* C1=C;
  2444. r325print_local((T325*)(oBC13cpp),r171to_string(C1));
  2445. }/*]*/
  2446. }
  2447. else{
  2448. /*[IF*/
  2449. if(X52need_c_struct(_rt)){
  2450. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2451. T3 b1=((T3)'\46');
  2452. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2453. }/*]*/
  2454. /*]*/
  2455. }
  2456. /*FI]*/
  2457. /*[IRF3.6compile_to_c*/{T171* C1=C;
  2458. r325print_local((T325*)(oBC13cpp),r171to_string(C1));
  2459. }/*]*/
  2460. }
  2461. /*FI]*/
  2462. /*[IF*/
  2463. if(_flag){
  2464. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  2465. T3 b1=((T3)'\51');
  2466. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2467. }/*]*/
  2468. /*]*/
  2469. }
  2470. /*FI]*/
  2471. }
  2472.  
  2473.  
  2474. T0* r171to_runnable(T171* C,T0* a1){
  2475. T0* R=NULL;
  2476. T0* _lvl=NULL;
  2477. T0* _rf=NULL;
  2478. _rf=r49top_rf((T49*)(oBC13small_eiffel));
  2479. _lvl=X334local_vars(_rf);
  2480. /*[IF*/
  2481. if(((/*RF2*/(C)->_local_var_list/*16*/))==((void*)(_lvl))){
  2482. R=((T0*)(C));
  2483. }
  2484. else{
  2485. {T171*n=((T171*)malloc(sizeof(*n))/*20*/);
  2486. *n=M171;
  2487. r171refer_to(n,(/*RF2*/(C)->_start_position/*4*/),_lvl,(/*RF2*/(C)->_rank/*12*/));
  2488. R=((T0*)n);
  2489. }
  2490. }
  2491. /*FI]*/
  2492. /*[IRF3.3set_is_used*/((((T174*)((T174*)(/*(IRF4.6name*/r176item(((T176*)((/*RF2*/(((T169*)_lvl))->_flat_list/*8*/))),(/*RF2*/(C)->_rank/*12*/))/*)*/))))->_is_used)=(1);
  2493. /*]*/
  2494. return R;
  2495. }
  2496.  
  2497.  
  2498. T2 r171to_integer(T171* C){
  2499. T2 R=0;
  2500. r171error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms14_45441));
  2501. return R;
  2502. }
  2503.  
  2504.  
  2505. T0* r171to_string(T171* C){
  2506. T0* R=NULL;
  2507. R=(/*RF2*/((T174*)(/*(IRF4.6name*/r176item(((T176*)((/*RF2*/((T169*)((/*RF2*/(C)->_local_var_list/*16*/)))->_flat_list/*8*/))),(/*RF2*/(C)->_rank/*12*/))/*)*/))->_to_string/*12*/);
  2508. return R;
  2509. }
  2510.  
  2511.  
  2512. void r171error(T68 a1,T0* a2){
  2513. r66add_position(a1);
  2514. /*[IRF3.6append*/{T0* b1=a2;
  2515. r7append((T7*)(oBC66explanation),b1);
  2516. }/*]*/
  2517. r66print_as_error((T66*)(oBC13eh));
  2518. }
  2519.  
  2520.  
  2521. T0* r171result_type(T171* C){
  2522. T0* R=NULL;
  2523. R=r169type((T169*)((/*RF2*/(C)->_local_var_list/*16*/)),(/*RF2*/(C)->_rank/*12*/));
  2524. return R;
  2525. }
  2526.  
  2527.  
  2528. T0* r171static_result_base_class(T171* C){
  2529. T0* R=NULL;
  2530. T0* _bcn=NULL;
  2531. _bcn=X52static_base_class_name(r171result_type(C));
  2532. /*[IF*/
  2533. if((_bcn)!=((void*)(NULL))){
  2534. R=r61base_class(((T61*)_bcn));
  2535. }
  2536. /*FI]*/
  2537. return R;
  2538. }
  2539.  
  2540.  
  2541. void r171fatal_error(T0* a1){
  2542. /*[IRF3.6append*/{T0* b1=a1;
  2543. r7append((T7*)(oBC66explanation),b1);
  2544. }/*]*/
  2545. r66print_as_fatal_error((T66*)(oBC13eh));
  2546. }
  2547.  
  2548.  
  2549. void r171assertion_check(T171* C,T3 a1){
  2550. /*[IF*/
  2551. if((a1)==(((T3)'E'))){
  2552. r66add_position((/*RF2*/(C)->_start_position/*4*/));
  2553. r171fatal_error(((T0*)ms171_85234));
  2554. }
  2555. /*FI]*/
  2556. }
  2557.  
  2558.  
  2559. T6 r171stupid_switch(T171* C,T0* a1){
  2560. T6 R=0;
  2561. /*[IF*/
  2562. if(r49stupid_switch(r171result_type(C),a1)){
  2563. R=1;
  2564. }
  2565. /*FI]*/
  2566. return R;
  2567. }
  2568.  
  2569.  
  2570. T0* r263generic_list(T263* C){
  2571. T0* R=NULL;
  2572. r263fatal_error_generic_list(C);
  2573. return R;
  2574. }
  2575.  
  2576.  
  2577. void r263gc_call_new_in(T0* a1){
  2578. r7append(((T7*)a1),((T0*)ms14_990));
  2579. r2append_in(6,a1);
  2580. r7extend(((T7*)a1),((T3)'\50'));
  2581. r7extend(((T7*)a1),((T3)'\51'));
  2582. }
  2583.  
  2584.  
  2585. T0* r263base_class(T263* C){
  2586. T0* R=NULL;
  2587. T0* _bcn=NULL;
  2588. _bcn=(/*RF2*/(C)->_base_class_name/*4*/);
  2589. /*[IF*/
  2590. if((_bcn)!=((void*)(NULL))){
  2591. R=r61base_class(((T61*)_bcn));
  2592. }
  2593. else{
  2594. /*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
  2595. r7append((T7*)(oBC66explanation),b1);
  2596. }/*]*/
  2597. r66add_type((T0*)C,((T0*)ms14_46));
  2598. r66print_as_fatal_error((T66*)(oBC13eh));
  2599. }
  2600. /*FI]*/
  2601. return R;
  2602. }
  2603.  
  2604.  
  2605. T0* r263look_up_for(T263* C,T0* a1,T0* a2){
  2606. T0* R=NULL;
  2607. R=r51look_up_for((T51*)(r263base_class(C)),a1,a2);
  2608. return R;
  2609. }
  2610.  
  2611.  
  2612. T2 r263c_sizeof(void){
  2613. T2 R=0;
  2614. R=sizeof(T6);
  2615. return R;
  2616. }
  2617.  
  2618.  
  2619. T6 r263has_creation(T263* C,T0* a1){
  2620. T6 R=0;
  2621. {T68 se_tmp0;
  2622. r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
  2623. }
  2624. r263error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms264_99414));
  2625. return R;
  2626. }
  2627.  
  2628.  
  2629. void r263error(T68 a1,T0* a2){
  2630. r66add_position(a1);
  2631. /*[IRF3.6append*/{T0* b1=a2;
  2632. r7append((T7*)(oBC66explanation),b1);
  2633. }/*]*/
  2634. r66print_as_error((T66*)(oBC13eh));
  2635. }
  2636.  
  2637.  
  2638. T0* r263actual_reference(T0* a1){
  2639. T0* R=NULL;
  2640. T0* _cn=NULL;
  2641. /*[IF*/
  2642. if((X52run_time_mark(a1))==((void*)(((T0*)ms15_12529)))){
  2643. R=a1;
  2644. }
  2645. else{
  2646. {T68 se_tmp0;
  2647. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  2648. *n=M61;
  2649. r61make(n,((T0*)ms15_12529),(*(se_tmp0=X52start_position(a1),&se_tmp0)));
  2650. _cn=((T0*)n);
  2651. }
  2652. }
  2653. {T272*n=((T272*)malloc(sizeof(*n))/*8*/);
  2654. *n=M272;
  2655. /*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_cn);
  2656. /*]*/
  2657. R=((T0*)n);
  2658. }
  2659. }
  2660. /*FI]*/
  2661. return R;
  2662. }
  2663.  
  2664.  
  2665. T6 r263is_a_in(T263* C,T0* a1,T0* a2){
  2666. T6 R=0;
  2667. T0* _ct=NULL;
  2668. T0* _t2=NULL;
  2669. T0* _t1=NULL;
  2670. /*[IF*/
  2671. if((r263written_mark())==((void*)(X52written_mark(a1)))){
  2672. R=1;
  2673. }
  2674. else{
  2675. _ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
  2676. _t1=r263to_runnable(C,_ct);
  2677. _t2=X52to_runnable(a1,_ct);
  2678. /*[IF*/
  2679. if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
  2680. R=1;
  2681. }
  2682. else{
  2683. R=X52is_a(_t1,_t2);
  2684. }
  2685. /*FI]*/
  2686. }
  2687. /*FI]*/
  2688. return R;
  2689. }
  2690.  
  2691.  
  2692. T6 r263is_native_array(T263* C){
  2693. T6 R=0;
  2694. T0* _tna=NULL;
  2695. _tna=NULL;
  2696. R=(_tna)!=((void*)(NULL));
  2697. return R;
  2698. }
  2699.  
  2700.  
  2701. T6 r263is_a(T263* C,T0* a1){
  2702. T6 R=0;
  2703. /*[IF*/
  2704. if(X52is_boolean(a1)){
  2705. R=1;
  2706. }
  2707. else{
  2708. R=r51is_subclass_of((T51*)(r263base_class(C)),X52base_class(a1));
  2709. }
  2710. /*FI]*/
  2711. /*[IF*/
  2712. if(!(R)){
  2713. r66add_type((T0*)C,((T0*)ms14_17460));
  2714. r66add_type(a1,((T0*)ms14_46));
  2715. }
  2716. /*FI]*/
  2717. return R;
  2718. }
  2719.  
  2720.  
  2721. void r263make(T263* C,T68 a1){
  2722. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  2723. *n=M61;
  2724. r61make(n,((T0*)ms15_6405),a1);
  2725. (/*SFN*/C->_base_class_name)=((T0*)n);
  2726. }
  2727. }
  2728.  
  2729.  
  2730. void r263fatal_error_generic_list(T263* C){
  2731. r66add_type((T0*)C,((T0*)ms52_28899));
  2732. r66print_as_fatal_error((T66*)(oBC13eh));
  2733. }
  2734.  
  2735.  
  2736. void r263c_initialize_in(T0* a1){
  2737. /*[IF*/
  2738. /*AF*//*AE*/
  2739. r7extend(((T7*)a1),((T3)'0'));
  2740. /*FI]*/
  2741. }
  2742.  
  2743.  
  2744. T0* r263smallest_ancestor(T263* C,T0* a1){
  2745. T0* R=NULL;
  2746. T0* _rto=NULL;
  2747. _rto=X52run_type(a1);
  2748. /*[IF*/
  2749. if(X52is_boolean(_rto)){
  2750. R=((T0*)(C));
  2751. }
  2752. else{
  2753. R=r272smallest_ancestor((T272*)(r263type_boolean_ref()),_rto);
  2754. }
  2755. /*FI]*/
  2756. return R;
  2757. }
  2758. int fBC263check_type=0;
  2759.  
  2760.  
  2761. void r263check_type(T263* C){
  2762. if(fBC263check_type==0){fBC263check_type=1;{
  2763. T0* _rc=NULL;
  2764. T0* _bc=NULL;
  2765. _bc=r263base_class(C);
  2766. /*[IF*/
  2767. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  2768. _rc=r263run_class(C);
  2769. r263load_ref(((T0*)ms15_12529));
  2770. }
  2771. /*FI]*/
  2772. /*[IF*/
  2773. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
  2774. /*[IF*/
  2775. if(!((/*RF2*/(((T51*)_bc))->_is_expanded/*17*/))){
  2776. r263error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms263_37975));
  2777. }
  2778. /*FI]*/
  2779. }
  2780. /*FI]*/
  2781. }}}
  2782.  
  2783.  
  2784. void r263load_ref(T0* a1){
  2785. T0* _rf=NULL;
  2786. T0* _rc=NULL;
  2787. T0* _cn=NULL;
  2788. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  2789. *n=M61;
  2790. /*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(a1);
  2791. /*]*/
  2792. _cn=((T0*)n);
  2793. }
  2794. _rc=r51run_class((T51*)(r61base_class(((T61*)_cn))));
  2795. _rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_1724));
  2796. }
  2797.  
  2798.  
  2799. T0* r263to_runnable(T263* C,T0* a1){
  2800. T0* R=NULL;
  2801. R=((T0*)(C));
  2802. r263check_type(C);
  2803. return R;
  2804. }
  2805. T0*oBC263type_boolean_ref=NULL;
  2806. int fBC263type_boolean_ref=0;
  2807.  
  2808.  
  2809. T0* r263type_boolean_ref(void){
  2810. if(fBC263type_boolean_ref==0){fBC263type_boolean_ref=1;{
  2811. T0* _boolean_ref=NULL;
  2812. {T61*n=((T61*)malloc(sizeof(*n))/*12*/);
  2813. *n=M61;
  2814. /*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(((T0*)ms15_12529));
  2815. /*]*/
  2816. _boolean_ref=((T0*)n);
  2817. }
  2818. {T272*n=((T272*)malloc(sizeof(*n))/*8*/);
  2819. *n=M272;
  2820. oBC263type_boolean_ref=((T0*)n);
  2821. /*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_boolean_ref);
  2822. /*]*/
  2823. }
  2824. }}
  2825. return oBC263type_boolean_ref;
  2826. }
  2827.  
  2828.  
  2829. void r263id_extra_information(T0* a1){
  2830. r48put_string(((T48*)a1),((T0*)ms52_9724));
  2831. /*[IF*/
  2832. /*AF*//*AE*/
  2833. r48put_string(((T48*)a1),((T0*)ms52_759));
  2834. /*FI]*/
  2835. }
  2836.  
  2837.  
  2838. void r263gc_mark_in(T0* a1){
  2839. r7append(((T7*)a1),((T0*)ms14_8764));
  2840. r2append_in(6,a1);
  2841. }
  2842.  
  2843.  
  2844. void r263c_type_for_external_in(T0* a1){
  2845. /*[IF*/
  2846. /*AF*//*AE*/
  2847. /*[IRF3.6c_type_for_result_in*/{T0* b1=a1;
  2848. r263c_type_for_argument_in(b1);
  2849. }/*]*/
  2850. /*FI]*/
  2851. }
  2852.  
  2853.  
  2854. void r263c_type_for_argument_in(T0* a1){
  2855. r7extend(((T7*)a1),((T3)'T'));
  2856. r7extend(((T7*)a1),((T3)'6'));
  2857. }
  2858.  
  2859.  
  2860. T0* r263run_time_mark(void){
  2861. T0* R=NULL;
  2862. R=((T0*)ms15_6405);
  2863. return R;
  2864. }
  2865.  
  2866.  
  2867. T0* r263run_class(T263* C){
  2868. T0* R=NULL;
  2869. R=r49run_class((T0*)C);
  2870. return R;
  2871. }
  2872.  
  2873.  
  2874. void r263demangling_in(T0* a1){
  2875. /*[IF*/
  2876. /*AF*//*AE*/
  2877. r7extend(((T7*)a1),((T3)'E'));
  2878. /*FI]*/
  2879. r7extend(((T7*)a1),((T3)'\40'));
  2880. r7append(((T7*)a1),r263run_time_mark());
  2881. }
  2882.  
  2883.  
  2884. T0* r263written_mark(void){
  2885. T0* R=NULL;
  2886. R=((T0*)ms15_6405);
  2887. return R;
  2888. }
  2889.  
  2890.  
  2891. void r126compile_to_c_old(T126* C){
  2892. X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
  2893. /*[IF*/
  2894. {/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  2895. }
  2896. /*FI]*/
  2897. }
  2898.  
  2899.  
  2900. T0* r126runnable_expression(T0* a1,T0* a2){
  2901. T0* R=NULL;
  2902. R=X104to_runnable(a1,a2);
  2903. /*[IF*/
  2904. if((R)==((void*)(NULL))){
  2905. {T68 se_tmp0;
  2906. r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
  2907. }
  2908. r126fatal_error(((T0*)ms116_16290));
  2909. }
  2910. /*FI]*/
  2911. return R;
  2912. }
  2913.  
  2914.  
  2915. void r126run_feature_has_result(T126* C){
  2916. /*[IF*/
  2917. if((X334result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
  2918. {T68 se_tmp0;
  2919. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
  2920. }
  2921. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  2922. r126fatal_error(((T0*)ms115_53215));
  2923. }
  2924. /*FI]*/
  2925. }
  2926.  
  2927.  
  2928. void r126run_feature_match(T126* C,T0* a1){
  2929. r126run_feature_has_result(C);
  2930. X139match_with((/*RF2*/(C)->_arguments/*8*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
  2931. }
  2932.  
  2933.  
  2934. T0* r126add_comment(T126* C,T0* a1){
  2935. T0* R=NULL;
  2936. /*[IF*/
  2937. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  2938. R=((T0*)(C));
  2939. }
  2940. else{
  2941. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  2942. *n=M229;
  2943. r229make(n,(T0*)C,a1);
  2944. R=((T0*)n);
  2945. }
  2946. }
  2947. /*FI]*/
  2948. return R;
  2949. }
  2950.  
  2951.  
  2952. void r126with(T126* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  2953. (/*SFN*/C->_target)=a1;
  2954. (/*SFN*/C->_feature_name)=a2;
  2955. (/*SFN*/C->_arguments)=a3;
  2956. (/*SFN*/C->_run_feature)=a4;
  2957. r126run_feature_match(C,a5);
  2958. }
  2959.  
  2960.  
  2961. void r126mapping_c_target(T126* C,T0* a1){
  2962. T0* _actual_type=NULL;
  2963. T6 _flag=0;
  2964. _flag=r325call_invariant_start(a1);
  2965. _actual_type=X52run_type(r126result_type(C));
  2966. /*[IF*/
  2967. if(X52is_reference(_actual_type)){
  2968. /*[IF*/
  2969. if(X52is_reference(a1)){
  2970. X52mapping_cast(a1);
  2971. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2972. T3 b1=((T3)'\50');
  2973. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2974. }/*]*/
  2975. /*]*/
  2976. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T126* C1=C;
  2977. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  2978. }/*]*/
  2979. /*]*/
  2980. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2981. T3 b1=((T3)'\51');
  2982. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2983. }/*]*/
  2984. /*]*/
  2985. }
  2986. else{
  2987. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T126* C1=C;
  2988. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  2989. }/*]*/
  2990. /*]*/
  2991. }
  2992. /*FI]*/
  2993. }
  2994. else{
  2995. /*[IF*/
  2996. if(X52is_reference(a1)){
  2997. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T126* C1=C;
  2998. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  2999. }/*]*/
  3000. /*]*/
  3001. }
  3002. else{
  3003. /*[IF*/
  3004. if(X52need_c_struct(a1)){
  3005. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3006. T3 b1=((T3)'\46');
  3007. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3008. }/*]*/
  3009. /*]*/
  3010. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3011. T3 b1=((T3)'\50');
  3012. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3013. }/*]*/
  3014. /*]*/
  3015. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T126* C1=C;
  3016. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  3017. }/*]*/
  3018. /*]*/
  3019. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3020. T3 b1=((T3)'\51');
  3021. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3022. }/*]*/
  3023. /*]*/
  3024. }
  3025. else{
  3026. /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T126* C1=C;
  3027. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  3028. }/*]*/
  3029. /*]*/
  3030. }
  3031. /*FI]*/
  3032. }
  3033. /*FI]*/
  3034. }
  3035. /*FI]*/
  3036. /*[IF*/
  3037. if(_flag){
  3038. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  3039. T3 b1=((T3)'\51');
  3040. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3041. }/*]*/
  3042. /*]*/
  3043. }
  3044. /*FI]*/
  3045. }
  3046.  
  3047.  
  3048. void r126afd_check(T126* C){
  3049. T0* _running=NULL;
  3050. T0* _rc=NULL;
  3051. /*[IF*/
  3052. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  3053. _rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
  3054. _running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
  3055. /*[IF*/
  3056. if((_running)==((void*)(NULL))){
  3057. }
  3058.  else if((r53count(((T53*)_running)))>(1)){
  3059. r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
  3060. }
  3061. /*FI]*/
  3062. }
  3063. /*FI]*/
  3064. X104afd_check((/*RF2*/(C)->_target/*4*/));
  3065. /*[IF*/
  3066. {/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  3067. }
  3068. /*FI]*/
  3069. }
  3070.  
  3071.  
  3072. void r126c_declare_for_old(T126* C){
  3073. X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
  3074. /*[IF*/
  3075. {/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  3076. }
  3077. /*FI]*/
  3078. }
  3079.  
  3080.  
  3081. void r126collect_c_tmp(T126* C){
  3082. /*[IF*/
  3083. if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
  3084. X334collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
  3085. }
  3086. /*FI]*/
  3087. X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
  3088. /*[IF*/
  3089. if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
  3090. /*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  3091. }
  3092. /*FI]*/
  3093. }
  3094.  
  3095.  
  3096. T0* r126operator(void){
  3097. T0* R=NULL;
  3098. R=((T0*)ms15_188);
  3099. return R;
  3100. }
  3101.  
  3102.  
  3103. T6 r126use_current(T126* C){
  3104. T6 R=0;
  3105. /*[IF*/
  3106. {/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*8*/)));
  3107. }
  3108. /*FI]*/
  3109. /*[IF*/
  3110. if(R){
  3111. }
  3112.  else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  3113. R=X334use_current((/*RF2*/(C)->_run_feature/*16*/));
  3114. }
  3115. else{
  3116. R=X104use_current((/*RF2*/(C)->_target/*4*/));
  3117. }
  3118. /*FI]*/
  3119. return R;
  3120. }
  3121.  
  3122.  
  3123. T0* r126runnable_args(T0* a1,T0* a2){
  3124. T0* R=NULL;
  3125. R=X139to_runnable(a1,a2);
  3126. /*[IF*/
  3127. if((R)==((void*)(NULL))){
  3128. {T68 se_tmp0;
  3129. r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
  3130. }
  3131. r126fatal_error(((T0*)ms14_12870));
  3132. }
  3133. /*FI]*/
  3134. return R;
  3135. }
  3136.  
  3137.  
  3138. T0* r126to_runnable(T126* C,T0* a1){
  3139. T0* R=NULL;
  3140. T0* _target_type=NULL;
  3141. T0* _argument_type=NULL;
  3142. T0* _rf=NULL;
  3143. T0* _a=NULL;
  3144. T0* _t=NULL;
  3145. _t=r126runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
  3146. _a=r126runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
  3147. _target_type=X104result_type(_t);
  3148. _argument_type=X104result_type(r126arg1(C));
  3149. /*[IF*/
  3150. if(X52is_real(_argument_type)){
  3151. /*[IF*/
  3152. if(X52is_integer(_target_type)){
  3153. _t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
  3154. }
  3155. /*FI]*/
  3156. }
  3157.  else if(X52is_double(_argument_type)){
  3158. /*[IF*/
  3159. if((X52is_integer(_target_type))||(X52is_real(_target_type))){
  3160. _t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
  3161. }
  3162. /*FI]*/
  3163. }
  3164. /*FI]*/
  3165. _rf=r126run_feature_for(C,_t,a1);
  3166. /*[IF*/
  3167. if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
  3168. (/*SFN*/C->_target)=_t;
  3169. (/*SFN*/C->_arguments)=_a;
  3170. (/*SFN*/C->_run_feature)=_rf;
  3171. r126run_feature_match(C,a1);
  3172. R=((T0*)(C));
  3173. }
  3174.  else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
  3175. R=((T0*)(C));
  3176. }
  3177. else{
  3178. {T126*n=((T126*)malloc(sizeof(*n))/*24*/);
  3179. *n=M126;
  3180. r126with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a,_rf,a1);
  3181. R=((T0*)n);
  3182. }
  3183. }
  3184. /*FI]*/
  3185. return R;
  3186. }
  3187.  
  3188.  
  3189. T2 r126to_integer(T126* C){
  3190. T2 R=0;
  3191. r126error(/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
  3192. return R;
  3193. }
  3194.  
  3195.  
  3196. T6 r126is_static(T126* C){
  3197. T6 R=0;
  3198. /*[IF*/
  3199. if(X52is_integer(r126result_type(C))){
  3200. /*[IF*/
  3201. if((X104is_static((/*RF2*/(C)->_target/*4*/)))&&(X104is_static(r126arg1(C)))){
  3202. R=1;
  3203. (/*SFN*/C->_static_value_mem)=(X104static_value((/*RF2*/(C)->_target/*4*/)))/(X104static_value(r126arg1(C)));
  3204. }
  3205. /*FI]*/
  3206. }
  3207. /*FI]*/
  3208. return R;
  3209. }
  3210.  
  3211.  
  3212. void r126finalize(T126* C){
  3213. T0* _rf=NULL;
  3214. T0* _rc=NULL;
  3215. _rf=(/*RF2*/(C)->_run_feature/*16*/);
  3216. _rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
  3217. (/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
  3218. }
  3219.  
  3220.  
  3221. void r126error(T68 a1,T0* a2){
  3222. r66add_position(a1);
  3223. /*[IRF3.6append*/{T0* b1=a2;
  3224. r7append((T7*)(oBC66explanation),b1);
  3225. }/*]*/
  3226. r66print_as_error((T66*)(oBC13eh));
  3227. }
  3228.  
  3229.  
  3230. T0* r126result_type(T126* C){
  3231. T0* R=NULL;
  3232. T0* _tla=NULL;
  3233. R=X334result_type((/*RF2*/(C)->_run_feature/*16*/));
  3234. /*[IF*/
  3235. if(X52is_like_current(R)){
  3236. R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
  3237. }
  3238. else{
  3239. _tla=R;
  3240. if(NULL!=(_tla)){
  3241. switch(((T0*)_tla)->id){
  3242. case 257:
  3243. break;
  3244. default:
  3245. _tla=NULL;
  3246. }
  3247. }/*[IF*/
  3248. if((_tla)!=((void*)(NULL))){
  3249. R=X52run_type(X104result_type(r126arg1(C)));
  3250. }
  3251. /*FI]*/
  3252. }
  3253. /*FI]*/
  3254. return R;
  3255. }
  3256.  
  3257.  
  3258. T0* r126arg1(T126* C){
  3259. T0* R=NULL;
  3260. R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
  3261. return R;
  3262. }
  3263.  
  3264.  
  3265. T6 r126call_proc_call_stupid_switch(T126* C,T0* a1){
  3266. T6 R=0;
  3267. /*[IF*/
  3268. if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
  3269. R=1;
  3270. }
  3271. else{
  3272. R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*8*/)),a1);
  3273. }
  3274. /*FI]*/
  3275. /*[IF*/
  3276. if(R){
  3277. /*[IF*/
  3278. if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  3279. /*[IF*/
  3280. if(r49same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
  3281. R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
  3282. }
  3283. else{
  3284. R=0;
  3285. }
  3286. /*FI]*/
  3287. }
  3288. else{
  3289. R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
  3290. }
  3291. /*FI]*/
  3292. }
  3293. /*FI]*/
  3294. return R;
  3295. }
  3296.  
  3297.  
  3298. T0* r126run_feature_for(T126* C,T0* a1,T0* a2){
  3299. T0* R=NULL;
  3300. T0* _bc=NULL;
  3301. T0* _rt=NULL;
  3302. T0* _rc=NULL;
  3303. _rt=X104result_type(a1);
  3304. /*[IF*/
  3305. if((_rt)!=((void*)(NULL))){
  3306. _rc=X52run_class(_rt);
  3307. /*[IF*/
  3308. if((_rc)!=((void*)(NULL))){
  3309. _bc=r50base_class(((T50*)_rc));
  3310. R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
  3311. }
  3312. /*FI]*/
  3313. }
  3314. /*FI]*/
  3315. /*[IF*/
  3316. if((R)==((void*)(NULL))){
  3317. r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
  3318. /*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
  3319. r7append((T7*)(oBC66explanation),b1);
  3320. }/*]*/
  3321. r66print_as_fatal_error((T66*)(oBC13eh));
  3322. }
  3323. /*FI]*/
  3324. return R;
  3325. }
  3326.  
  3327.  
  3328. T0* r126static_result_base_class(T126* C){
  3329. T0* R=NULL;
  3330. T0* _cn=NULL;
  3331. T0* _rt=NULL;
  3332. T0* _e_feature=NULL;
  3333. T0* _bc=NULL;
  3334. _bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
  3335. /*[IF*/
  3336. if((_bc)!=((void*)(NULL))){
  3337. _e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
  3338. /*[IF*/
  3339. if((_e_feature)!=((void*)(NULL))){
  3340. _rt=X90result_type(_e_feature);
  3341. /*[IF*/
  3342. if((_rt)!=((void*)(NULL))){
  3343. _cn=X52static_base_class_name(_rt);
  3344. /*[IF*/
  3345. if((_cn)!=((void*)(NULL))){
  3346. R=r61base_class(((T61*)_cn));
  3347. }
  3348. /*FI]*/
  3349. }
  3350. /*FI]*/
  3351. }
  3352. /*FI]*/
  3353. }
  3354. /*FI]*/
  3355. return R;
  3356. }
  3357.  
  3358.  
  3359. void r126make(T126* C,T0* a1,T68 a2,T0* a3){
  3360. (/*SFN*/C->_target)=a1;
  3361. {T129*n=((T129*)malloc(sizeof(*n))/*20*/);
  3362. *n=M129;
  3363. r129make(n,r126operator(),a2);
  3364. (/*SFN*/C->_feature_name)=((T0*)n);
  3365. }
  3366. {T139*n=((T139*)malloc(sizeof(*n))/*16*/);
  3367. *n=M139;
  3368. /*[IRF3.3make_1*/((((T139*)(n)))->_first_one)=(a3);
  3369. /*]*/
  3370. (/*SFN*/C->_arguments)=((T0*)n);
  3371. }
  3372. }
  3373.  
  3374.  
  3375. void r126fatal_error(T0* a1){
  3376. /*[IRF3.6append*/{T0* b1=a1;
  3377. r7append((T7*)(oBC66explanation),b1);
  3378. }/*]*/
  3379. r66print_as_fatal_error((T66*)(oBC13eh));
  3380. }
  3381.  
  3382.  
  3383. void r126assertion_check(T126* C,T3 a1){
  3384. /*[IF*/
  3385. if((a1)==(((T3)'R'))){
  3386. X334vape_check_from((/*RF2*/(C)->_run_feature/*16*/),/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
  3387. }
  3388. /*FI]*/
  3389. X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
  3390. X104assertion_check(r126arg1(C),a1);
  3391. }
  3392.  
  3393.  
  3394. T6 r126stupid_switch(T126* C,T0* a1){
  3395. T6 R=0;
  3396. R=r126call_proc_call_stupid_switch(C,a1);
  3397. /*[IF*/
  3398. if(R){
  3399. R=!(X52is_native_array(r126result_type(C)));
  3400. }
  3401. /*FI]*/
  3402. return R;
  3403. }
  3404.  
  3405.  
  3406. T0* r257generic_list(T257* C){
  3407. T0* R=NULL;
  3408. /*[IF*/
  3409. if(r257is_generic(C)){
  3410. R=X52generic_list(r257run_type(C));
  3411. }
  3412. else{
  3413. r257fatal_error_generic_list(C);
  3414. }
  3415. /*FI]*/
  3416. return R;
  3417. }
  3418.  
  3419.  
  3420. T6 r257need_gc_mark_function(T257* C){
  3421. T6 R=0;
  3422. R=X52need_gc_mark_function(r257run_type(C));
  3423. return R;
  3424. }
  3425.  
  3426.  
  3427. T2 r257id(T257* C){
  3428. T2 R=0;
  3429. R=(/*RF2*/((T50*)(r257run_class(C)))->_id/*4*/);
  3430. return R;
  3431. }
  3432.  
  3433.  
  3434. void r257cast_to_ref(T257* C){
  3435. X52cast_to_ref(r257run_type(C));
  3436. }
  3437.  
  3438.  
  3439. void r257c_header_pass1(T257* C){
  3440. X52c_header_pass1(r257run_type(C));
  3441. }
  3442.  
  3443.  
  3444. void r257just_before_gc_mark_in(T257* C,T0* a1){
  3445. X52just_before_gc_mark_in(r257run_type(C),a1);
  3446. }
  3447.  
  3448.  
  3449. void r257c_header_pass3(T257* C){
  3450. X52c_header_pass3(r257run_type(C));
  3451. }
  3452.  
  3453.  
  3454. void r257gc_call_new_in(T257* C,T0* a1){
  3455. r7append(((T7*)a1),((T0*)ms14_990));
  3456. r2append_in(r257id(C),a1);
  3457. r7extend(((T7*)a1),((T3)'\50'));
  3458. r7extend(((T7*)a1),((T3)'\51'));
  3459. }
  3460.  
  3461.  
  3462. T6 r257is_array(T257* C){
  3463. T6 R=0;
  3464. R=X52is_array(r257run_type(C));
  3465. return R;
  3466. }
  3467.  
  3468.  
  3469. T0* r257base_class(T257* C){
  3470. T0* R=NULL;
  3471. T0* _bcn=NULL;
  3472. _bcn=r257base_class_name(C);
  3473. /*[IF*/
  3474. if((_bcn)!=((void*)(NULL))){
  3475. R=r61base_class(((T61*)_bcn));
  3476. }
  3477. else{
  3478. /*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
  3479. r7append((T7*)(oBC66explanation),b1);
  3480. }/*]*/
  3481. r66add_type((T0*)C,((T0*)ms14_46));
  3482. r66print_as_fatal_error((T66*)(oBC13eh));
  3483. }
  3484. /*FI]*/
  3485. return R;
  3486. }
  3487.  
  3488.  
  3489. T0* r257look_up_for(T257* C,T0* a1,T0* a2){
  3490. T0* R=NULL;
  3491. R=r51look_up_for((T51*)(r257base_class(C)),a1,a2);
  3492. return R;
  3493. }
  3494.  
  3495.  
  3496. T2 r257c_sizeof(T257* C){
  3497. T2 R=0;
  3498. R=X52c_sizeof(r257run_type(C));
  3499. return R;
  3500. }
  3501.  
  3502.  
  3503. T6 r257has_creation(T257* C,T0* a1){
  3504. T6 R=0;
  3505. R=X52has_creation(r257run_type(C),a1);
  3506. return R;
  3507. }
  3508.  
  3509.  
  3510. T6 r257need_c_struct(T257* C){
  3511. T6 R=0;
  3512. R=X52need_c_struct(r257run_type(C));
  3513. return R;
  3514. }
  3515.  
  3516.  
  3517. void r257mapping_cast(T257* C){
  3518. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_15456)))))->_count)=(0);
  3519. /*]*/
  3520. r7extend((T7*)(((T0*)ms52_15456)),((T3)'\50'));
  3521. r257c_type_for_target_in(C,((T0*)ms52_15456));
  3522. r7extend((T7*)(((T0*)ms52_15456)),((T3)'\51'));
  3523. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_15456));
  3524. /*]*/
  3525. }
  3526.  
  3527.  
  3528. T0* r257actual_reference(T257* C,T0* a1){
  3529. T0* R=NULL;
  3530. R=X52actual_reference(r257run_type(C),a1);
  3531. return R;
  3532. }
  3533.  
  3534.  
  3535. T6 r257is_a_in(T257* C,T0* a1,T0* a2){
  3536. T6 R=0;
  3537. T0* _ct=NULL;
  3538. T0* _t2=NULL;
  3539. T0* _t1=NULL;
  3540. /*[IF*/
  3541. if(((/*RF2*/(C)->_written_mark/*16*/))==((void*)(X52written_mark(a1)))){
  3542. R=1;
  3543. }
  3544. else{
  3545. _ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
  3546. _t1=r257to_runnable(C,_ct);
  3547. _t2=X52to_runnable(a1,_ct);
  3548. /*[IF*/
  3549. if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
  3550. R=1;
  3551. }
  3552. else{
  3553. R=X52is_a(_t1,_t2);
  3554. }
  3555. /*FI]*/
  3556. }
  3557. /*FI]*/
  3558. return R;
  3559. }
  3560.  
  3561.  
  3562. T6 r257is_native_array(T257* C){
  3563. T6 R=0;
  3564. T0* _tna=NULL;
  3565. _tna=NULL;
  3566. R=(_tna)!=((void*)(NULL));
  3567. return R;
  3568. }
  3569.  
  3570.  
  3571. T6 r257is_boolean(T257* C){
  3572. T6 R=0;
  3573. R=X52is_boolean(r257run_type(C));
  3574. return R;
  3575. }
  3576.  
  3577.  
  3578. T6 r257is_a(T257* C,T0* a1){
  3579. T6 R=0;
  3580. R=X52is_a(r257run_type(C),a1);
  3581. return R;
  3582. }
  3583.  
  3584.  
  3585. T6 r257is_generic(T257* C){
  3586. T6 R=0;
  3587. R=X52is_generic(r257run_type(C));
  3588. return R;
  3589. }
  3590.  
  3591.  
  3592. void r257anchor_cycle_start(T257* C){
  3593. T2 _i=0;
  3594. /*[IF*/
  3595. if(((/*RF2*/((T67*)(oBC255visited))->_upper/*8*/))<(0)){
  3596. r67add_last((T67*)(oBC255visited),(/*RF2*/(C)->_start_position/*4*/));
  3597. }
  3598.  else if(r67fast_has((T67*)(oBC255visited),(/*RF2*/(C)->_start_position/*4*/))){
  3599. _i=0;
  3600. while (!((_i)>((/*RF2*/((T67*)(oBC255visited))->_upper/*8*/))))
  3601. {
  3602. r66add_position(/*(IRF4.6item*/((/*RF2*/((T67*)(oBC255visited))->_storage/*0*/))[_i]/*)*/);
  3603. _i=(_i)+(1);
  3604. }
  3605. r257fatal_error(((T0*)ms14_47034));
  3606. }
  3607. else{
  3608. r67add_last((T67*)(oBC255visited),(/*RF2*/(C)->_start_position/*4*/));
  3609. }
  3610. /*FI]*/
  3611. }
  3612.  
  3613.  
  3614. void r257make(T257* C,T68 a1,T0* a2){
  3615. (/*SFN*/C->_start_position)=a1;
  3616. (/*SFN*/C->_like_what)=a2;
  3617. r7copy((T7*)(((T0*)ms255_86756)),((T0*)ms14_1684));
  3618. r7extend((T7*)(((T0*)ms255_86756)),((T3)'\40'));
  3619. r7append((T7*)(((T0*)ms255_86756)),r179to_string((T179*)((/*RF2*/(C)->_like_what/*12*/))));
  3620. (/*SFN*/C->_written_mark)=((/*UT*/(void)((T21*)(r257string_aliaser()))),r21item(((T0*)ms255_86756)));
  3621. }
  3622.  
  3623.  
  3624. T0* r257run_type(T257* C){
  3625. T0* R=NULL;
  3626. T0* _fal=NULL;
  3627. _fal=X334arguments((/*RF2*/(C)->_run_feature/*20*/));
  3628. R=r178type(((T178*)_fal),/*(IRF4.6rank*/(/*RF2*/(((T179*)((/*RF2*/(C)->_like_what/*12*/))))->_rank/*12*/)/*)*/);
  3629. /*[IF*/
  3630. if(X52is_run_type(R)){
  3631. R=X52run_type(R);
  3632. }
  3633. /*FI]*/
  3634. return R;
  3635. }
  3636.  
  3637.  
  3638. void r257anchor_cycle_end(T257* C){
  3639. /*[IF*/
  3640. if(!se_cmpT68(((/*RF2*/(C)->_start_position/*4*/)),(/*(IRF4.6first*/((/*RF2*/((T67*)(oBC255visited))->_storage/*0*/))[0]/*)*/))){
  3641. /*[IRF3.3clear*/((((T67*)((T67*)(oBC255visited))))->_upper)=(-(1));
  3642. /*]*/
  3643. }
  3644. /*FI]*/
  3645. }
  3646.  
  3647.  
  3648. T6 r257is_reference(T257* C){
  3649. T6 R=0;
  3650. R=X52is_reference(r257run_type(C));
  3651. return R;
  3652. }
  3653.  
  3654.  
  3655. T6 r257is_real(T257* C){
  3656. T6 R=0;
  3657. R=X52is_real(r257run_type(C));
  3658. return R;
  3659. }
  3660.  
  3661.  
  3662. T6 r257is_user_expanded(T257* C){
  3663. T6 R=0;
  3664. R=X52is_user_expanded(r257run_type(C));
  3665. return R;
  3666. }
  3667.  
  3668.  
  3669. T6 r257is_run_type(T257* C){
  3670. T6 R=0;
  3671. /*[IF*/
  3672. if(((/*RF2*/(C)->_run_feature/*20*/))!=((void*)(NULL))){
  3673. R=X52is_run_type(r257run_type(C));
  3674. }
  3675. /*FI]*/
  3676. return R;
  3677. }
  3678.  
  3679.  
  3680. T6 r257is_integer(T257* C){
  3681. T6 R=0;
  3682. R=X52is_integer(r257run_type(C));
  3683. return R;
  3684. }
  3685.  
  3686.  
  3687. T6 r257is_any(T257* C){
  3688. T6 R=0;
  3689. R=X52is_any(r257run_type(C));
  3690. return R;
  3691. }
  3692.  
  3693.  
  3694. void r257fatal_error_generic_list(T257* C){
  3695. r66add_type((T0*)C,((T0*)ms52_28899));
  3696. r66print_as_fatal_error((T66*)(oBC13eh));
  3697. }
  3698.  
  3699.  
  3700. T6 r257is_string(T257* C){
  3701. T6 R=0;
  3702. R=X52is_string(r257run_type(C));
  3703. return R;
  3704. }
  3705.  
  3706.  
  3707. void r257c_initialize_in(T257* C,T0* a1){
  3708. X52c_initialize_in(r257run_type(C),a1);
  3709. }
  3710.  
  3711.  
  3712. T0* r257smallest_ancestor(T257* C,T0* a1){
  3713. T0* R=NULL;
  3714. R=X52smallest_ancestor(r257run_type(C),a1);
  3715. return R;
  3716. }
  3717.  
  3718.  
  3719. void r257c_header_pass2(T257* C){
  3720. X52c_header_pass2(r257run_type(C));
  3721. }
  3722.  
  3723.  
  3724. T0* r257string_aliaser(void){
  3725. if(fBC13string_aliaser==0){fBC13string_aliaser=1;{
  3726. {T21*n=((T21*)malloc(1));
  3727. oBC13string_aliaser=((T0*)n);
  3728. /*[IRF3.2make*//*[IRF3.6add1*/{T0* b1=((T0*)ms15_696);
  3729. r23put((T23*)(oBC21memory),b1,b1);
  3730. }/*]*/
  3731. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1915);
  3732. r23put((T23*)(oBC21memory),b1,b1);
  3733. }/*]*/
  3734. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_669);
  3735. r23put((T23*)(oBC21memory),b1,b1);
  3736. }/*]*/
  3737. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1980);
  3738. r23put((T23*)(oBC21memory),b1,b1);
  3739. }/*]*/
  3740. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9234);
  3741. r23put((T23*)(oBC21memory),b1,b1);
  3742. }/*]*/
  3743. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6405);
  3744. r23put((T23*)(oBC21memory),b1,b1);
  3745. }/*]*/
  3746. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12529);
  3747. r23put((T23*)(oBC21memory),b1,b1);
  3748. }/*]*/
  3749. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9801);
  3750. r23put((T23*)(oBC21memory),b1,b1);
  3751. }/*]*/
  3752. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16393);
  3753. r23put((T23*)(oBC21memory),b1,b1);
  3754. }/*]*/
  3755. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12550);
  3756. r23put((T23*)(oBC21memory),b1,b1);
  3757. }/*]*/
  3758. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_4728);
  3759. r23put((T23*)(oBC21memory),b1,b1);
  3760. }/*]*/
  3761. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10740);
  3762. r23put((T23*)(oBC21memory),b1,b1);
  3763. }/*]*/
  3764. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12030);
  3765. r23put((T23*)(oBC21memory),b1,b1);
  3766. }/*]*/
  3767. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14817);
  3768. r23put((T23*)(oBC21memory),b1,b1);
  3769. }/*]*/
  3770. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6307);
  3771. r23put((T23*)(oBC21memory),b1,b1);
  3772. }/*]*/
  3773. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6643);
  3774. r23put((T23*)(oBC21memory),b1,b1);
  3775. }/*]*/
  3776. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12595);
  3777. r23put((T23*)(oBC21memory),b1,b1);
  3778. }/*]*/
  3779. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_5508);
  3780. r23put((T23*)(oBC21memory),b1,b1);
  3781. }/*]*/
  3782. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_17448);
  3783. r23put((T23*)(oBC21memory),b1,b1);
  3784. }/*]*/
  3785. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1216);
  3786. r23put((T23*)(oBC21memory),b1,b1);
  3787. }/*]*/
  3788. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7928);
  3789. r23put((T23*)(oBC21memory),b1,b1);
  3790. }/*]*/
  3791. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6776);
  3792. r23put((T23*)(oBC21memory),b1,b1);
  3793. }/*]*/
  3794. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12804);
  3795. r23put((T23*)(oBC21memory),b1,b1);
  3796. }/*]*/
  3797. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1168);
  3798. r23put((T23*)(oBC21memory),b1,b1);
  3799. }/*]*/
  3800. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7576);
  3801. r23put((T23*)(oBC21memory),b1,b1);
  3802. }/*]*/
  3803. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_4956);
  3804. r23put((T23*)(oBC21memory),b1,b1);
  3805. }/*]*/
  3806. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16692);
  3807. r23put((T23*)(oBC21memory),b1,b1);
  3808. }/*]*/
  3809. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19124);
  3810. r23put((T23*)(oBC21memory),b1,b1);
  3811. }/*]*/
  3812. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_921);
  3813. r23put((T23*)(oBC21memory),b1,b1);
  3814. }/*]*/
  3815. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10680);
  3816. r23put((T23*)(oBC21memory),b1,b1);
  3817. }/*]*/
  3818. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_64);
  3819. r23put((T23*)(oBC21memory),b1,b1);
  3820. }/*]*/
  3821. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_368);
  3822. r23put((T23*)(oBC21memory),b1,b1);
  3823. }/*]*/
  3824. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_61);
  3825. r23put((T23*)(oBC21memory),b1,b1);
  3826. }/*]*/
  3827. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_246);
  3828. r23put((T23*)(oBC21memory),b1,b1);
  3829. }/*]*/
  3830. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_62);
  3831. r23put((T23*)(oBC21memory),b1,b1);
  3832. }/*]*/
  3833. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9408);
  3834. r23put((T23*)(oBC21memory),b1,b1);
  3835. }/*]*/
  3836. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_242);
  3837. r23put((T23*)(oBC21memory),b1,b1);
  3838. }/*]*/
  3839. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_60);
  3840. r23put((T23*)(oBC21memory),b1,b1);
  3841. }/*]*/
  3842. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_45);
  3843. r23put((T23*)(oBC21memory),b1,b1);
  3844. }/*]*/
  3845. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_42);
  3846. r23put((T23*)(oBC21memory),b1,b1);
  3847. }/*]*/
  3848. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_216);
  3849. r23put((T23*)(oBC21memory),b1,b1);
  3850. }/*]*/
  3851. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1011);
  3852. r23put((T23*)(oBC21memory),b1,b1);
  3853. }/*]*/
  3854. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_450);
  3855. r23put((T23*)(oBC21memory),b1,b1);
  3856. }/*]*/
  3857. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8211);
  3858. r23put((T23*)(oBC21memory),b1,b1);
  3859. }/*]*/
  3860. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_43);
  3861. r23put((T23*)(oBC21memory),b1,b1);
  3862. }/*]*/
  3863. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_94);
  3864. r23put((T23*)(oBC21memory),b1,b1);
  3865. }/*]*/
  3866. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_552);
  3867. r23put((T23*)(oBC21memory),b1,b1);
  3868. }/*]*/
  3869. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_564);
  3870. r23put((T23*)(oBC21memory),b1,b1);
  3871. }/*]*/
  3872. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_47);
  3873. r23put((T23*)(oBC21memory),b1,b1);
  3874. }/*]*/
  3875. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_188);
  3876. r23put((T23*)(oBC21memory),b1,b1);
  3877. }/*]*/
  3878. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_35);
  3879. r23put((T23*)(oBC21memory),b1,b1);
  3880. }/*]*/
  3881. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035a);
  3882. r23put((T23*)(oBC21memory),b1,b1);
  3883. }/*]*/
  3884. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11424);
  3885. r23put((T23*)(oBC21memory),b1,b1);
  3886. }/*]*/
  3887. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2600);
  3888. r23put((T23*)(oBC21memory),b1,b1);
  3889. }/*]*/
  3890. r21add2(((T0*)ms15_22524));
  3891. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6702);
  3892. r23put((T23*)(oBC21memory),b1,b1);
  3893. }/*]*/
  3894. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11776);
  3895. r23put((T23*)(oBC21memory),b1,b1);
  3896. }/*]*/
  3897. r21add2(((T0*)ms15_29246));
  3898. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13419);
  3899. r23put((T23*)(oBC21memory),b1,b1);
  3900. }/*]*/
  3901. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765a);
  3902. r23put((T23*)(oBC21memory),b1,b1);
  3903. }/*]*/
  3904. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1644);
  3905. r23put((T23*)(oBC21memory),b1,b1);
  3906. }/*]*/
  3907. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19294);
  3908. r23put((T23*)(oBC21memory),b1,b1);
  3909. }/*]*/
  3910. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1772);
  3911. r23put((T23*)(oBC21memory),b1,b1);
  3912. }/*]*/
  3913. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15070);
  3914. r23put((T23*)(oBC21memory),b1,b1);
  3915. }/*]*/
  3916. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15570);
  3917. r23put((T23*)(oBC21memory),b1,b1);
  3918. }/*]*/
  3919. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27034);
  3920. r23put((T23*)(oBC21memory),b1,b1);
  3921. }/*]*/
  3922. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15190);
  3923. r23put((T23*)(oBC21memory),b1,b1);
  3924. }/*]*/
  3925. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15890);
  3926. r23put((T23*)(oBC21memory),b1,b1);
  3927. }/*]*/
  3928. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19151);
  3929. r23put((T23*)(oBC21memory),b1,b1);
  3930. }/*]*/
  3931. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13491);
  3932. r23put((T23*)(oBC21memory),b1,b1);
  3933. }/*]*/
  3934. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_28490);
  3935. r23put((T23*)(oBC21memory),b1,b1);
  3936. }/*]*/
  3937. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8750);
  3938. r23put((T23*)(oBC21memory),b1,b1);
  3939. }/*]*/
  3940. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19437);
  3941. r23put((T23*)(oBC21memory),b1,b1);
  3942. }/*]*/
  3943. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824a);
  3944. r23put((T23*)(oBC21memory),b1,b1);
  3945. }/*]*/
  3946. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_23829);
  3947. r23put((T23*)(oBC21memory),b1,b1);
  3948. }/*]*/
  3949. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27272);
  3950. r23put((T23*)(oBC21memory),b1,b1);
  3951. }/*]*/
  3952. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10528);
  3953. r23put((T23*)(oBC21memory),b1,b1);
  3954. }/*]*/
  3955. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13707);
  3956. r23put((T23*)(oBC21memory),b1,b1);
  3957. }/*]*/
  3958. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6846);
  3959. r23put((T23*)(oBC21memory),b1,b1);
  3960. }/*]*/
  3961. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1664);
  3962. r23put((T23*)(oBC21memory),b1,b1);
  3963. }/*]*/
  3964. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2760);
  3965. r23put((T23*)(oBC21memory),b1,b1);
  3966. }/*]*/
  3967. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730a);
  3968. r23put((T23*)(oBC21memory),b1,b1);
  3969. }/*]*/
  3970. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22248);
  3971. r23put((T23*)(oBC21memory),b1,b1);
  3972. }/*]*/
  3973. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22788);
  3974. r23put((T23*)(oBC21memory),b1,b1);
  3975. }/*]*/
  3976. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_30660);
  3977. r23put((T23*)(oBC21memory),b1,b1);
  3978. }/*]*/
  3979. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13995);
  3980. r23put((T23*)(oBC21memory),b1,b1);
  3981. }/*]*/
  3982. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_432);
  3983. r23put((T23*)(oBC21memory),b1,b1);
  3984. }/*]*/
  3985. r21add2(((T0*)ms15_22596));
  3986. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_60104);
  3987. r23put((T23*)(oBC21memory),b1,b1);
  3988. }/*]*/
  3989. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_24960);
  3990. r23put((T23*)(oBC21memory),b1,b1);
  3991. }/*]*/
  3992. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_34432);
  3993. r23put((T23*)(oBC21memory),b1,b1);
  3994. }/*]*/
  3995. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11144);
  3996. r23put((T23*)(oBC21memory),b1,b1);
  3997. }/*]*/
  3998. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_18964);
  3999. r23put((T23*)(oBC21memory),b1,b1);
  4000. }/*]*/
  4001. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1724);
  4002. r23put((T23*)(oBC21memory),b1,b1);
  4003. }/*]*/
  4004. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1744);
  4005. r23put((T23*)(oBC21memory),b1,b1);
  4006. }/*]*/
  4007. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765);
  4008. r23put((T23*)(oBC21memory),b1,b1);
  4009. }/*]*/
  4010. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6762);
  4011. r23put((T23*)(oBC21memory),b1,b1);
  4012. }/*]*/
  4013. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1656);
  4014. r23put((T23*)(oBC21memory),b1,b1);
  4015. }/*]*/
  4016. r21add2(((T0*)ms15_60016));
  4017. r21add2(((T0*)ms15_26880));
  4018. r21add2(((T0*)ms15_33240));
  4019. r21add2(((T0*)ms15_21624));
  4020. r21add2(((T0*)ms15_60060));
  4021. r21add2(((T0*)ms15_26908));
  4022. r21add2(((T0*)ms15_33270));
  4023. r21add2(((T0*)ms15_21648));
  4024. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_17886);
  4025. r23put((T23*)(oBC21memory),b1,b1);
  4026. }/*]*/
  4027. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824);
  4028. r23put((T23*)(oBC21memory),b1,b1);
  4029. }/*]*/
  4030. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_21192);
  4031. r23put((T23*)(oBC21memory),b1,b1);
  4032. }/*]*/
  4033. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2785);
  4034. r23put((T23*)(oBC21memory),b1,b1);
  4035. }/*]*/
  4036. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11496);
  4037. r23put((T23*)(oBC21memory),b1,b1);
  4038. }/*]*/
  4039. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_53940);
  4040. r23put((T23*)(oBC21memory),b1,b1);
  4041. }/*]*/
  4042. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035);
  4043. r23put((T23*)(oBC21memory),b1,b1);
  4044. }/*]*/
  4045. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2440);
  4046. r23put((T23*)(oBC21memory),b1,b1);
  4047. }/*]*/
  4048. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2445);
  4049. r23put((T23*)(oBC21memory),b1,b1);
  4050. }/*]*/
  4051. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_32730);
  4052. r23put((T23*)(oBC21memory),b1,b1);
  4053. }/*]*/
  4054. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12744);
  4055. r23put((T23*)(oBC21memory),b1,b1);
  4056. }/*]*/
  4057. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13662);
  4058. r23put((T23*)(oBC21memory),b1,b1);
  4059. }/*]*/
  4060. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8547);
  4061. r23put((T23*)(oBC21memory),b1,b1);
  4062. }/*]*/
  4063. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8505);
  4064. r23put((T23*)(oBC21memory),b1,b1);
  4065. }/*]*/
  4066. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9436);
  4067. r23put((T23*)(oBC21memory),b1,b1);
  4068. }/*]*/
  4069. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14193);
  4070. r23put((T23*)(oBC21memory),b1,b1);
  4071. }/*]*/
  4072. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915a);
  4073. r23put((T23*)(oBC21memory),b1,b1);
  4074. }/*]*/
  4075. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915);
  4076. r23put((T23*)(oBC21memory),b1,b1);
  4077. }/*]*/
  4078. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_34528);
  4079. r23put((T23*)(oBC21memory),b1,b1);
  4080. }/*]*/
  4081. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13752);
  4082. r23put((T23*)(oBC21memory),b1,b1);
  4083. }/*]*/
  4084. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11336);
  4085. r23put((T23*)(oBC21memory),b1,b1);
  4086. }/*]*/
  4087. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_26156);
  4088. r23put((T23*)(oBC21memory),b1,b1);
  4089. }/*]*/
  4090. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11376);
  4091. r23put((T23*)(oBC21memory),b1,b1);
  4092. }/*]*/
  4093. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27580);
  4094. r23put((T23*)(oBC21memory),b1,b1);
  4095. }/*]*/
  4096. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_33990);
  4097. r23put((T23*)(oBC21memory),b1,b1);
  4098. }/*]*/
  4099. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27443);
  4100. r23put((T23*)(oBC21memory),b1,b1);
  4101. }/*]*/
  4102. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_40358);
  4103. r23put((T23*)(oBC21memory),b1,b1);
  4104. }/*]*/
  4105. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_25584);
  4106. r23put((T23*)(oBC21memory),b1,b1);
  4107. }/*]*/
  4108. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7380);
  4109. r23put((T23*)(oBC21memory),b1,b1);
  4110. }/*]*/
  4111. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730);
  4112. r23put((T23*)(oBC21memory),b1,b1);
  4113. }/*]*/
  4114. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7530);
  4115. r23put((T23*)(oBC21memory),b1,b1);
  4116. }/*]*/
  4117. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13977);
  4118. r23put((T23*)(oBC21memory),b1,b1);
  4119. }/*]*/
  4120. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14175);
  4121. r23put((T23*)(oBC21memory),b1,b1);
  4122. }/*]*/
  4123. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16970);
  4124. r23put((T23*)(oBC21memory),b1,b1);
  4125. }/*]*/
  4126. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8820);
  4127. r23put((T23*)(oBC21memory),b1,b1);
  4128. }/*]*/
  4129. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7326);
  4130. r23put((T23*)(oBC21memory),b1,b1);
  4131. }/*]*/
  4132. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22716);
  4133. r23put((T23*)(oBC21memory),b1,b1);
  4134. }/*]*/
  4135. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12978);
  4136. r23put((T23*)(oBC21memory),b1,b1);
  4137. }/*]*/
  4138. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16770);
  4139. r23put((T23*)(oBC21memory),b1,b1);
  4140. }/*]*/
  4141. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16850);
  4142. r23put((T23*)(oBC21memory),b1,b1);
  4143. }/*]*/
  4144. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9051);
  4145. r23put((T23*)(oBC21memory),b1,b1);
  4146. }/*]*/
  4147. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_21300);
  4148. r23put((T23*)(oBC21memory),b1,b1);
  4149. }/*]*/
  4150. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_56720);
  4151. r23put((T23*)(oBC21memory),b1,b1);
  4152. }/*]*/
  4153. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1800);
  4154. r23put((T23*)(oBC21memory),b1,b1);
  4155. }/*]*/
  4156. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2780);
  4157. r23put((T23*)(oBC21memory),b1,b1);
  4158. }/*]*/
  4159. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27456);
  4160. r23put((T23*)(oBC21memory),b1,b1);
  4161. }/*]*/
  4162. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15650);
  4163. r23put((T23*)(oBC21memory),b1,b1);
  4164. }/*]*/
  4165. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9275);
  4166. r23put((T23*)(oBC21memory),b1,b1);
  4167. }/*]*/
  4168. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_58075);
  4169. r23put((T23*)(oBC21memory),b1,b1);
  4170. }/*]*/
  4171. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22140);
  4172. r23put((T23*)(oBC21memory),b1,b1);
  4173. }/*]*/
  4174. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13833);
  4175. r23put((T23*)(oBC21memory),b1,b1);
  4176. }/*]*/
  4177. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7314);
  4178. r23put((T23*)(oBC21memory),b1,b1);
  4179. }/*]*/
  4180. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1608);
  4181. r23put((T23*)(oBC21memory),b1,b1);
  4182. }/*]*/
  4183. /*]*/
  4184. }
  4185. }}
  4186. return oBC13string_aliaser;
  4187. }
  4188.  
  4189.